{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<font color=gray size=4> 期末项目 </font> \n",
    "\n",
    "<font color=gray size=4> 时间：2022.06.22-2022.06.29 </font>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据分析项目介绍\n",
    "\n",
    "### 项目人：温舒燃\n",
    "\n",
    "* 项目时间：6月28日-7月3日\n",
    "\n",
    "\n",
    "### 数据来源：和鲸社区\n",
    "\n",
    "* 选用2022年某招聘网站爬取的数据分析岗位数据集\n",
    "\n",
    "-----\n",
    "\n",
    "### 数据源介绍\n",
    "\n",
    "* 项目主要使用和鲸社区某招聘网站数据分析岗位数据集作为源数据集，采用数据清洗后的“final_data.xlse”本地文件作为数据源，其中数据文件的主要栏位有城市\t招聘岗位\t薪资\t工作经验\t学历\t所招人数\t专业要求职位信息\t公司类型\t公司规模等。\n",
    "\n",
    "\n",
    "\n",
    "> 其中本项目所使用的可计算的栏位为公司规模，薪资。本项目所使用的可分类的栏位为城市，工作经验，学历，所属行业。  \n",
    "\n",
    "### 数据分析目标\n",
    "\n",
    "* 数据清洗：\n",
    "\n",
    "1、由于专业要求一列缺失值较多，考虑删除；职位信息列单一性强，暂不使用，考虑删除\n",
    "\n",
    "2、处理数据集中的空行，填充nan值；处理数据类型\n",
    "\n",
    "3、统一薪资一列的单位，使其统一，增加最高工资和最低工资列\n",
    "\n",
    "* 数据分析：\n",
    "\n",
    "1、计算筛选数据分析岗位的城市需求分布和数量\n",
    "\n",
    "2、计算筛选数据分析岗位各城市的平均薪资，计算统计各城市最高工资和最低工资的差异\n",
    "\n",
    "3、对公司类型、所属行业、学历做相关统计\n",
    "\n",
    "4、将学历、所属行业和平均薪资做相关分析\n",
    "\n",
    "\n",
    "### 数据分析结果价值宣言\n",
    "\n",
    "* 本项目主要对数据分析岗位信息进行分析，以可视化可交互的方式让更多人了解当前招聘数据分析岗位的相关信息和具体情况，更直观的让人清楚数据分析岗位的要求及社会现状，一定程度上为想要求职数据分析岗位的人提供建议及参考，使其更好的选择。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入模块\n",
    "import pandas as pd\n",
    "import re\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 导入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>专业要求</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>NaN</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>NaN</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装/纺织/皮革\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源\\n                                    汽车</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12432</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>NaN</td>\n",
       "      <td>岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12433</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12434</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>英语熟练</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信/电信/网络设备</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12435</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品(食品、饮料、化妆品)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12436</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易/进出口</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12437 rows × 11 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验   学历 所招人数  专业要求  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验   本科   若干   NaN   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验   本科   若干   NaN   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  NaN    1   NaN   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验   大专    1   NaN   \n",
       "4      广州          数据分析师    1-2万/月    2年经验   大专    2   NaN   \n",
       "...    ..            ...       ...     ...  ...  ...   ...   \n",
       "12432  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验   大专   若干   NaN   \n",
       "12433  长沙        亚马逊资深运营  1-1.5万/月    2年经验   大专    1   NaN   \n",
       "12434  长沙           HRBP  1-1.8万/月  3-4年经验   大专    1  英语熟练   \n",
       "12435  长沙           订单专员    4-6千/月  3-4年经验   大专    1   NaN   \n",
       "12436  长沙       万元高薪销售总监  1.5-2万/月    无需经验  NaN    1   NaN   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司        NaN   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12432  岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...  民营公司  500-1000人   \n",
       "12433  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12434  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12435  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12436  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "                                                    所属行业  \n",
       "0                                               互联网/电子商务  \n",
       "1                                                  计算机软件  \n",
       "2      服装/纺织/皮革\\n                                    ...  \n",
       "3            新能源\\n                                    汽车  \n",
       "4                                               互联网/电子商务  \n",
       "...                                                  ...  \n",
       "12432  互联网/电子商务\\n                                    ...  \n",
       "12433                                           互联网/电子商务  \n",
       "12434                                         通信/电信/网络设备  \n",
       "12435                                   快速消费品(食品、饮料、化妆品)  \n",
       "12436                                             贸易/进出口  \n",
       "\n",
       "[12437 rows x 11 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('data_analysis_job.csv',encoding='gbk')\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 12437 entries, 0 to 12436\n",
      "Data columns (total 11 columns):\n",
      " #   Column  Non-Null Count  Dtype \n",
      "---  ------  --------------  ----- \n",
      " 0   城市      12336 non-null  object\n",
      " 1   招聘岗位    12336 non-null  object\n",
      " 2   薪资      12256 non-null  object\n",
      " 3   工作经验    12152 non-null  object\n",
      " 4   学历      12140 non-null  object\n",
      " 5   所招人数    12328 non-null  object\n",
      " 6   专业要求    1675 non-null   object\n",
      " 7   职位信息    12336 non-null  object\n",
      " 8   公司类型    12329 non-null  object\n",
      " 9   公司规模    11712 non-null  object\n",
      " 10  所属行业    12336 non-null  object\n",
      "dtypes: object(11)\n",
      "memory usage: 1.0+ MB\n"
     ]
    }
   ],
   "source": [
    "# 查看整体数据\n",
    "data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据清洗"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "城市        101\n",
       "招聘岗位      101\n",
       "薪资        181\n",
       "工作经验      285\n",
       "学历        297\n",
       "所招人数      109\n",
       "专业要求    10762\n",
       "职位信息      101\n",
       "公司类型      108\n",
       "公司规模      725\n",
       "所属行业      101\n",
       "dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看缺失值\n",
    "data.isna().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 删除专业要求列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>NaN</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装/纺织/皮革\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源\\n                                    汽车</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12432</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12433</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12434</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信/电信/网络设备</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12435</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品(食品、饮料、化妆品)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12436</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易/进出口</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12437 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验   学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验   本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验   本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  NaN    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验   大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验   大专    2   \n",
       "...    ..            ...       ...     ...  ...  ...   \n",
       "12432  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验   大专   若干   \n",
       "12433  长沙        亚马逊资深运营  1-1.5万/月    2年经验   大专    1   \n",
       "12434  长沙           HRBP  1-1.8万/月  3-4年经验   大专    1   \n",
       "12435  长沙           订单专员    4-6千/月  3-4年经验   大专    1   \n",
       "12436  长沙       万元高薪销售总监  1.5-2万/月    无需经验  NaN    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司        NaN   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12432  岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...  民营公司  500-1000人   \n",
       "12433  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12434  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12435  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12436  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "                                                    所属行业  \n",
       "0                                               互联网/电子商务  \n",
       "1                                                  计算机软件  \n",
       "2      服装/纺织/皮革\\n                                    ...  \n",
       "3            新能源\\n                                    汽车  \n",
       "4                                               互联网/电子商务  \n",
       "...                                                  ...  \n",
       "12432  互联网/电子商务\\n                                    ...  \n",
       "12433                                           互联网/电子商务  \n",
       "12434                                         通信/电信/网络设备  \n",
       "12435                                   快速消费品(食品、饮料、化妆品)  \n",
       "12436                                             贸易/进出口  \n",
       "\n",
       "[12437 rows x 10 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 由于专业要求一列缺失值较多，考虑删除\n",
    "data.drop('专业要求',axis=1, inplace=True)\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 删除数据整行都是空的数据行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>NaN</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装/纺织/皮革\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源\\n                                    汽车</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12432</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12433</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12434</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信/电信/网络设备</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12435</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品(食品、饮料、化妆品)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12436</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易/进出口</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12336 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验   学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验   本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验   本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  NaN    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验   大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验   大专    2   \n",
       "...    ..            ...       ...     ...  ...  ...   \n",
       "12432  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验   大专   若干   \n",
       "12433  长沙        亚马逊资深运营  1-1.5万/月    2年经验   大专    1   \n",
       "12434  长沙           HRBP  1-1.8万/月  3-4年经验   大专    1   \n",
       "12435  长沙           订单专员    4-6千/月  3-4年经验   大专    1   \n",
       "12436  长沙       万元高薪销售总监  1.5-2万/月    无需经验  NaN    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司        NaN   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12432  岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...  民营公司  500-1000人   \n",
       "12433  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12434  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12435  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12436  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "                                                    所属行业  \n",
       "0                                               互联网/电子商务  \n",
       "1                                                  计算机软件  \n",
       "2      服装/纺织/皮革\\n                                    ...  \n",
       "3            新能源\\n                                    汽车  \n",
       "4                                               互联网/电子商务  \n",
       "...                                                  ...  \n",
       "12432  互联网/电子商务\\n                                    ...  \n",
       "12433                                           互联网/电子商务  \n",
       "12434                                         通信/电信/网络设备  \n",
       "12435                                   快速消费品(食品、饮料、化妆品)  \n",
       "12436                                             贸易/进出口  \n",
       "\n",
       "[12336 rows x 10 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 删除数据整行都是空的数据行\n",
    "data.dropna(how='all',inplace=True)\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 将空值进行填充"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装/纺织/皮革\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源\\n                                    汽车</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12432</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12433</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12434</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信/电信/网络设备</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12435</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品(食品、饮料、化妆品)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12436</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易/进出口</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12336 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验  本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  不限    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验  大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验  大专    2   \n",
       "...    ..            ...       ...     ...  ..  ...   \n",
       "12432  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验  大专   若干   \n",
       "12433  长沙        亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12434  长沙           HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12435  长沙           订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "12436  长沙       万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司          无   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12432  岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...  民营公司  500-1000人   \n",
       "12433  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12434  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12435  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12436  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "                                                    所属行业  \n",
       "0                                               互联网/电子商务  \n",
       "1                                                  计算机软件  \n",
       "2      服装/纺织/皮革\\n                                    ...  \n",
       "3            新能源\\n                                    汽车  \n",
       "4                                               互联网/电子商务  \n",
       "...                                                  ...  \n",
       "12432  互联网/电子商务\\n                                    ...  \n",
       "12433                                           互联网/电子商务  \n",
       "12434                                         通信/电信/网络设备  \n",
       "12435                                   快速消费品(食品、饮料、化妆品)  \n",
       "12436                                             贸易/进出口  \n",
       "\n",
       "[12336 rows x 10 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 将数据列所有的NAN值填充\n",
    "data['薪资'] = data['薪资'].fillna(\"面议\")\n",
    "data['工作经验'] = data['工作经验'].fillna(\"无\")\n",
    "data['学历'] = data['学历'].fillna(\"不限\")\n",
    "data['所招人数'] = data['所招人数'].fillna(\"若干\")\n",
    "data['公司类型'] = data['公司类型'].fillna(\"无\")\n",
    "data['公司规模'] = data['公司规模'].fillna(\"无\")\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 删除薪资不确定的行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>广州</td>\n",
       "      <td>客服数据分析助理 (职位编号：59436525)</td>\n",
       "      <td>面议</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、独立负责电商客服部销售及服务情况所需资料的汇总、统计和数据管理，有效提升电商客...</td>\n",
       "      <td>外资（非欧美）</td>\n",
       "      <td>5000-10000人</td>\n",
       "      <td>奢侈品/收藏品/工艺品/珠宝\\n                              ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>154</th>\n",
       "      <td>广州</td>\n",
       "      <td>阿里灵犀互娱-游戏数据分析师-发行 (职位编号：GP674051)</td>\n",
       "      <td>面议</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1.根据游戏产品在全球不同地区的开发和运营要点，设计基础日志和业务指标体系2.完成游戏产品数...</td>\n",
       "      <td>上市公司</td>\n",
       "      <td>10000人以上</td>\n",
       "      <td>互联网/电子商务\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>452</th>\n",
       "      <td>广州</td>\n",
       "      <td>Data Analyst</td>\n",
       "      <td>面议</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>若干</td>\n",
       "      <td>Description????We are looking for an experienc...</td>\n",
       "      <td>外资（欧美）</td>\n",
       "      <td>10000人以上</td>\n",
       "      <td>计算机软件\\n                                    专业服...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>615</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据治理经理</td>\n",
       "      <td>面议</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责:1、数据治理体系构建：制定数据治理总体规划，设计数据治理体系框架，包括但不限于：数...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>房地产</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1289</th>\n",
       "      <td>深圳</td>\n",
       "      <td>28600-微信支付商户管理数据分析工程师 (职位编号：81156)</td>\n",
       "      <td>面议</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：基于业务目标和微信支付产品特点，建立风险评估和运营数据监控，如指标设计、报表设计等...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>10000人以上</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11725</th>\n",
       "      <td>苏州</td>\n",
       "      <td>苏州分行-数据服务岗</td>\n",
       "      <td>面议</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>基本条件1．坚持党的基本理论、基本路线、基本方略；自觉增强“四个意识”，坚定“四个自信”，坚...</td>\n",
       "      <td>国企</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>银行</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12126</th>\n",
       "      <td>苏州</td>\n",
       "      <td>招聘主管--常熟(J15288)</td>\n",
       "      <td>面议</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>工作职责:1. 根据常熟Site年度HC Budget和各业务部门的实际招聘需要求，协助主管...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>10000人以上</td>\n",
       "      <td>制药/生物工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12144</th>\n",
       "      <td>苏州</td>\n",
       "      <td>Lead QC Engineer-RM&amp;TT (职位编号：38492926)</td>\n",
       "      <td>面议</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>Job Description SummaryThe job holder ensures ...</td>\n",
       "      <td>合资</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>制药/生物工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12311</th>\n",
       "      <td>长沙</td>\n",
       "      <td>数据分析岗</td>\n",
       "      <td>面议</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>2</td>\n",
       "      <td>岗位主要职责：1、负责数据获取和分析，制定数据分析模板和框架，撰写数据分析报告；2、负责设计...</td>\n",
       "      <td>国企</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>金融/投资/证券</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12361</th>\n",
       "      <td>长沙</td>\n",
       "      <td>数据分析岗</td>\n",
       "      <td>面议</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>2</td>\n",
       "      <td>岗位主要职责：1、负责数据获取和分析，制定数据分析模板和框架，撰写数据分析报告；2、负责设计...</td>\n",
       "      <td>国企</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>金融/投资/证券</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>80 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市                                    招聘岗位  薪资    工作经验  学历 所招人数  \\\n",
       "39     广州                客服数据分析助理 (职位编号：59436525)  面议    2年经验  大专    1   \n",
       "154    广州       阿里灵犀互娱-游戏数据分析师-发行 (职位编号：GP674051)  面议    2年经验  本科   若干   \n",
       "452    广州                            Data Analyst  面议    2年经验  不限   若干   \n",
       "615    广州                                  数据治理经理  面议  5-7年经验  本科   若干   \n",
       "1289   深圳      28600-微信支付商户管理数据分析工程师 (职位编号：81156)  面议  3-4年经验  本科    1   \n",
       "...    ..                                     ...  ..     ...  ..  ...   \n",
       "11725  苏州                              苏州分行-数据服务岗  面议    2年经验  本科   若干   \n",
       "12126  苏州                        招聘主管--常熟(J15288)  面议  3-4年经验  本科    1   \n",
       "12144  苏州  Lead QC Engineer-RM&TT (职位编号：38492926)  面议  3-4年经验  本科    1   \n",
       "12311  长沙                                   数据分析岗  面议  5-7年经验  本科    2   \n",
       "12361  长沙                                   数据分析岗  面议  5-7年经验  本科    2   \n",
       "\n",
       "                                                    职位信息     公司类型  \\\n",
       "39     岗位职责：1、独立负责电商客服部销售及服务情况所需资料的汇总、统计和数据管理，有效提升电商客...  外资（非欧美）   \n",
       "154    1.根据游戏产品在全球不同地区的开发和运营要点，设计基础日志和业务指标体系2.完成游戏产品数...     上市公司   \n",
       "452    Description????We are looking for an experienc...   外资（欧美）   \n",
       "615    工作职责:1、数据治理体系构建：制定数据治理总体规划，设计数据治理体系框架，包括但不限于：数...     民营公司   \n",
       "1289   岗位职责：基于业务目标和微信支付产品特点，建立风险评估和运营数据监控，如指标设计、报表设计等...     民营公司   \n",
       "...                                                  ...      ...   \n",
       "11725  基本条件1．坚持党的基本理论、基本路线、基本方略；自觉增强“四个意识”，坚定“四个自信”，坚...       国企   \n",
       "12126  工作职责:1. 根据常熟Site年度HC Budget和各业务部门的实际招聘需要求，协助主管...     民营公司   \n",
       "12144  Job Description SummaryThe job holder ensures ...       合资   \n",
       "12311  岗位主要职责：1、负责数据获取和分析，制定数据分析模板和框架，撰写数据分析报告；2、负责设计...       国企   \n",
       "12361  岗位主要职责：1、负责数据获取和分析，制定数据分析模板和框架，撰写数据分析报告；2、负责设计...       国企   \n",
       "\n",
       "              公司规模                                               所属行业  \n",
       "39     5000-10000人  奢侈品/收藏品/工艺品/珠宝\\n                              ...  \n",
       "154       10000人以上  互联网/电子商务\\n                                    ...  \n",
       "452       10000人以上  计算机软件\\n                                    专业服...  \n",
       "615      500-1000人                                                房地产  \n",
       "1289      10000人以上                                           互联网/电子商务  \n",
       "...            ...                                                ...  \n",
       "11725    500-1000人                                                 银行  \n",
       "12126     10000人以上                                            制药/生物工程  \n",
       "12144   1000-5000人                                            制药/生物工程  \n",
       "12311      50-150人                                           金融/投资/证券  \n",
       "12361      50-150人                                           金融/投资/证券  \n",
       "\n",
       "[80 rows x 10 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[data['薪资']==\"面议\"]\n",
    "# data.drop('薪资',axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装/纺织/皮革\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源\\n                                    汽车</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12432</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网/电子商务\\n                                    ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12433</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网/电子商务</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12434</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信/电信/网络设备</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12435</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品(食品、饮料、化妆品)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12436</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易/进出口</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12256 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验  本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  不限    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验  大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验  大专    2   \n",
       "...    ..            ...       ...     ...  ..  ...   \n",
       "12432  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验  大专   若干   \n",
       "12433  长沙        亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12434  长沙           HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12435  长沙           订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "12436  长沙       万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司          无   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12432  岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...  民营公司  500-1000人   \n",
       "12433  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12434  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12435  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12436  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "                                                    所属行业  \n",
       "0                                               互联网/电子商务  \n",
       "1                                                  计算机软件  \n",
       "2      服装/纺织/皮革\\n                                    ...  \n",
       "3            新能源\\n                                    汽车  \n",
       "4                                               互联网/电子商务  \n",
       "...                                                  ...  \n",
       "12432  互联网/电子商务\\n                                    ...  \n",
       "12433                                           互联网/电子商务  \n",
       "12434                                         通信/电信/网络设备  \n",
       "12435                                   快速消费品(食品、饮料、化妆品)  \n",
       "12436                                             贸易/进出口  \n",
       "\n",
       "[12256 rows x 10 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1=data[-data.薪资.isin([\"面议\"])] #删除薪资 = 面议的所有行\n",
    "data1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 筛选出第一个行业并清理无效字符"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0                                              互联网\n",
       "1                                            计算机软件\n",
       "2                                               服装\n",
       "3        新能源                                    汽车\n",
       "4                                              互联网\n",
       "                           ...                    \n",
       "12432                                          互联网\n",
       "12433                                          互联网\n",
       "12434                                           通信\n",
       "12435                             快速消费品(食品、饮料、化妆品)\n",
       "12436                                           贸易\n",
       "Name: 0, Length: 12256, dtype: object"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 筛选出第一个行业并清理无效字符\n",
    "fen_data=data1['所属行业'].astype('str').str.split('/',expand=True)\n",
    "shan=fen_data[0].str.replace(\"\\n\", \"\")\n",
    "shan"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:1048: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  self.obj[item_labels[indexer[info_axis]]] = value\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源                                    汽车</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12432</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12433</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12434</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12435</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品(食品、饮料、化妆品)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12436</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12256 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验  本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  不限    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验  大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验  大专    2   \n",
       "...    ..            ...       ...     ...  ..  ...   \n",
       "12432  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验  大专   若干   \n",
       "12433  长沙        亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12434  长沙           HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12435  长沙           订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "12436  长沙       万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司          无   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12432  岗位职责：    1.依据区域年度经营方向，开拓客户和开发店铺    2.依据公司商品发展方...  民营公司  500-1000人   \n",
       "12433  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12434  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12435  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12436  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "                                            所属行业  \n",
       "0                                            互联网  \n",
       "1                                          计算机软件  \n",
       "2                                             服装  \n",
       "3      新能源                                    汽车  \n",
       "4                                            互联网  \n",
       "...                                          ...  \n",
       "12432                                        互联网  \n",
       "12433                                        互联网  \n",
       "12434                                         通信  \n",
       "12435                           快速消费品(食品、饮料、化妆品)  \n",
       "12436                                         贸易  \n",
       "\n",
       "[12256 rows x 10 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#替换到原先的表中\n",
    "data1.loc[:, \"所属行业\"]=shan\n",
    "data1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 导入看一下数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "data1.to_excel(excel_writer=\"data1.xlsx\",index=False,encoding='utf-8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12251</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12252</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12253</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12254</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12255</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12256 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验  本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  不限    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验  大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验  大专    2   \n",
       "...    ..            ...       ...     ...  ..  ...   \n",
       "12251  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验  大专   若干   \n",
       "12252  长沙        亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12253  长沙           HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12254  长沙           订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "12255  长沙       万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司          无   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12251  岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...  民营公司  500-1000人   \n",
       "12252  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12253  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12254  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12255  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "        所属行业  \n",
       "0        互联网  \n",
       "1      计算机软件  \n",
       "2         服装  \n",
       "3        新能源  \n",
       "4        互联网  \n",
       "...      ...  \n",
       "12251    互联网  \n",
       "12252    互联网  \n",
       "12253     通信  \n",
       "12254  快速消费品  \n",
       "12255     贸易  \n",
       "\n",
       "[12256 rows x 10 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xin_data = pd.read_excel('data1.xlsx',encoding='gbk')\n",
    "xin_data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 删除空行并复制"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12251</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12252</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12253</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12254</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12255</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12256 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验  本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  不限    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验  大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验  大专    2   \n",
       "...    ..            ...       ...     ...  ..  ...   \n",
       "12251  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验  大专   若干   \n",
       "12252  长沙        亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12253  长沙           HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12254  长沙           订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "12255  长沙       万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司          无   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12251  岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...  民营公司  500-1000人   \n",
       "12252  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12253  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12254  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12255  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "        所属行业  \n",
       "0        互联网  \n",
       "1      计算机软件  \n",
       "2         服装  \n",
       "3        新能源  \n",
       "4        互联网  \n",
       "...      ...  \n",
       "12251    互联网  \n",
       "12252    互联网  \n",
       "12253     通信  \n",
       "12254  快速消费品  \n",
       "12255     贸易  \n",
       "\n",
       "[12256 rows x 10 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xin_data.dropna(how='all',inplace=True)\n",
    "xin_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>计算机软件</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12251</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12252</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12253</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12254</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12255</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12256 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "1      广州          数据分析师  1.8-3万/月    2年经验  本科   若干   \n",
       "2      广州         商品数据分析    7-8千/月    1年经验  不限    1   \n",
       "3      广州      数据分析专员/助理    5-6千/月    2年经验  大专    1   \n",
       "4      广州          数据分析师    1-2万/月    2年经验  大专    2   \n",
       "...    ..            ...       ...     ...  ..  ...   \n",
       "12251  长沙   大区经理（目标企业巴拉）  20-30万/年  3-4年经验  大专   若干   \n",
       "12252  长沙        亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12253  长沙           HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12254  长沙           订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "12255  长沙       万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...  民营公司          无   \n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...  民营公司  500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...  民营公司   150-500人   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...  民营公司    50-150人   \n",
       "...                                                  ...   ...        ...   \n",
       "12251  岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...  民营公司  500-1000人   \n",
       "12252  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...    合资    50-150人   \n",
       "12253  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...  民营公司   150-500人   \n",
       "12254  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...  民营公司  500-1000人   \n",
       "12255  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...  民营公司   150-500人   \n",
       "\n",
       "        所属行业  \n",
       "0        互联网  \n",
       "1      计算机软件  \n",
       "2         服装  \n",
       "3        新能源  \n",
       "4        互联网  \n",
       "...      ...  \n",
       "12251    互联网  \n",
       "12252    互联网  \n",
       "12253     通信  \n",
       "12254  快速消费品  \n",
       "12255     贸易  \n",
       "\n",
       "[12256 rows x 10 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1=xin_data.copy()\n",
    "data1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 调整薪资单位"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-17-cef7df28220e>:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万年[\"最低工资\"] = np.round(df_万年[\"薪资\"].astype(str).str.replace(\"万/年\",\"\").str.split(\"-\").str[0].astype(float)/12*10,0)\n",
      "<ipython-input-17-cef7df28220e>:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万年[\"最低工资\"] = df_万年[\"最低工资\"].astype(int)\n",
      "<ipython-input-17-cef7df28220e>:8: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万年[\"最高工资\"] = np.round(df_万年[\"薪资\"].astype(str).str.replace(\"万/年\",\"\").str.split(\"-\").str[1].astype(float)/12*10,0)\n",
      "<ipython-input-17-cef7df28220e>:9: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万年[\"最高工资\"] = df_万年[\"最高工资\"].astype(int)\n",
      "<ipython-input-17-cef7df28220e>:12: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万年[\"工资千/月\"] = df_万年[\"最低工资\"].astype(str) + \"-\" + df_万年[\"最高工资\"].astype(str) +\"千/月\"\n"
     ]
    }
   ],
   "source": [
    "#第一，选取万/年的表格，然后对此表格进行操作\n",
    "df_万年 = data1.loc[data1[\"薪资\"].str.contains(\"万/年\")]\n",
    "\n",
    "#第二提取最低工资，并获取千的数值\n",
    "df_万年[\"最低工资\"] = np.round(df_万年[\"薪资\"].astype(str).str.replace(\"万/年\",\"\").str.split(\"-\").str[0].astype(float)/12*10,0)\n",
    "df_万年[\"最低工资\"] = df_万年[\"最低工资\"].astype(int)\n",
    "#第三提取最高工资，并获取千的数值\n",
    "df_万年[\"最高工资\"] = np.round(df_万年[\"薪资\"].astype(str).str.replace(\"万/年\",\"\").str.split(\"-\").str[1].astype(float)/12*10,0)\n",
    "df_万年[\"最高工资\"] = df_万年[\"最高工资\"].astype(int)\n",
    "\n",
    "##第四合并数值，符合要求\n",
    "df_万年[\"工资千/月\"] = df_万年[\"最低工资\"].astype(str) + \"-\" + df_万年[\"最高工资\"].astype(str) +\"千/月\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析研究员（电商）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>17-25千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析经理（部门负责人）</td>\n",
       "      <td>15-20万/年</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...</td>\n",
       "      <td>上市公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>建筑</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>12-17千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪13万店铺业务数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>广州</td>\n",
       "      <td>高级数据分析师</td>\n",
       "      <td>20-40万/年</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...</td>\n",
       "      <td>国企</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>17</td>\n",
       "      <td>33</td>\n",
       "      <td>17-33千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12168</th>\n",
       "      <td>长沙</td>\n",
       "      <td>信息分析师</td>\n",
       "      <td>8-10万/年</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>4</td>\n",
       "      <td>岗位职责：1、搜索、分析、整编多渠道信息，撰写各类报告；2、完成指定材料的翻译和整理工作；3...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>通信</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>7-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>长沙</td>\n",
       "      <td>商务助理</td>\n",
       "      <td>6-8万/年</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>1.业务相关的数据处理，和相关文档的归类、整理、建档、保管等工作；2.协助业务人员进行合同，...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>电子技术</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "      <td>5-7千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12234</th>\n",
       "      <td>长沙</td>\n",
       "      <td>市场推广</td>\n",
       "      <td>8-10万/年</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>中专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责1、定期进行目标用户分析、竞争对手分析；2、制定产品推广目标，并开展各种主题推广活动...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>教育</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>7-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12243</th>\n",
       "      <td>长沙</td>\n",
       "      <td>营运总监-华中西南区（茶饮行业）</td>\n",
       "      <td>30-40万/年</td>\n",
       "      <td>10年以上经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.?根据集团战略规划，完成区域内门店布局及建设目标;2.?根据集团战略目标，制...</td>\n",
       "      <td>合资</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>餐饮业</td>\n",
       "      <td>25</td>\n",
       "      <td>33</td>\n",
       "      <td>25-33千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12251</th>\n",
       "      <td>长沙</td>\n",
       "      <td>大区经理（目标企业巴拉）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>若干</td>\n",
       "      <td>岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>17-25千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>808 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市              招聘岗位        薪资     工作经验  学历 所招人数  \\\n",
       "0      广州     年薪14万店铺销售数据分析  10-15万/年     1年经验  本科   若干   \n",
       "7      广州       数据分析研究员（电商）  20-30万/年   3-4年经验  本科    1   \n",
       "22     广州     数据分析经理（部门负责人）  15-20万/年   5-7年经验  本科    1   \n",
       "23     广州     年薪13万店铺业务数据分析  10-15万/年     1年经验  本科   若干   \n",
       "87     广州           高级数据分析师  20-40万/年   5-7年经验  本科    1   \n",
       "...    ..               ...       ...      ...  ..  ...   \n",
       "12168  长沙             信息分析师   8-10万/年     无需经验  本科    4   \n",
       "12204  长沙              商务助理    6-8万/年     无需经验  大专    2   \n",
       "12234  长沙              市场推广   8-10万/年     无需经验  中专   若干   \n",
       "12243  长沙  营运总监-华中西南区（茶饮行业）  30-40万/年  10年以上经验  本科    1   \n",
       "12251  长沙      大区经理（目标企业巴拉）  20-30万/年   3-4年经验  大专   若干   \n",
       "\n",
       "                                                    职位信息  公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "7      岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...  民营公司   150-500人   \n",
       "22     1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...  上市公司    50-150人   \n",
       "23     工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司   150-500人   \n",
       "87     岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...    国企  500-1000人   \n",
       "...                                                  ...   ...        ...   \n",
       "12168  岗位职责：1、搜索、分析、整编多渠道信息，撰写各类报告；2、完成指定材料的翻译和整理工作；3...  民营公司      少于50人   \n",
       "12204  1.业务相关的数据处理，和相关文档的归类、整理、建档、保管等工作；2.协助业务人员进行合同，...  民营公司      少于50人   \n",
       "12234  岗位职责1、定期进行目标用户分析、竞争对手分析；2、制定产品推广目标，并开展各种主题推广活动...  民营公司      少于50人   \n",
       "12243  【岗位职责】1.?根据集团战略规划，完成区域内门店布局及建设目标;2.?根据集团战略目标，制...    合资   150-500人   \n",
       "12251  岗位职责：1.依据区域年度经营方向，开拓客户和开发店铺2.依据公司商品发展方向与目标，结合客...  民营公司  500-1000人   \n",
       "\n",
       "                   所属行业  最低工资  最高工资     工资千/月  \n",
       "0                   互联网     8    12   8-12千/月  \n",
       "7                 计算机软件    17    25  17-25千/月  \n",
       "22                   建筑    12    17  12-17千/月  \n",
       "23                  互联网     8    12   8-12千/月  \n",
       "87     专业服务(咨询、人力资源、财会)    17    33  17-33千/月  \n",
       "...                 ...   ...   ...       ...  \n",
       "12168                通信     7     8    7-8千/月  \n",
       "12204              电子技术     5     7    5-7千/月  \n",
       "12234                教育     7     8    7-8千/月  \n",
       "12243               餐饮业    25    33  25-33千/月  \n",
       "12251               互联网    17    25  17-25千/月  \n",
       "\n",
       "[808 rows x 13 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#拿取特定的列，方便合并\n",
    "df_万年"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-19-965eed5721ae>:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万月[\"最低工资\"] = df_万月[\"薪资\"].astype(str).str.replace(\"万/月\",\"\").str.split(\"-\").str[0].astype(float) * 10\n",
      "<ipython-input-19-965eed5721ae>:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万月[\"最低工资\"] = df_万月[\"最低工资\"].astype(int)\n",
      "<ipython-input-19-965eed5721ae>:8: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万月[\"最高工资\"] = df_万月[\"薪资\"].astype(str).str.replace(\"万/月\",\"\").str.split(\"-\").str[1].astype(float) * 10\n",
      "<ipython-input-19-965eed5721ae>:9: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万月[\"最高工资\"] = df_万月[\"最高工资\"].astype(int)\n",
      "<ipython-input-19-965eed5721ae>:11: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_万月[\"工资千/月\"] = df_万月[\"最低工资\"].astype(str) + \"-\" + df_万月[\"最高工资\"].astype(str) +\"千/月\"\n"
     ]
    }
   ],
   "source": [
    "#第一，选取万/月的表格，然后对此表格进行操作\n",
    "df_万月 = data1.loc[data1[\"薪资\"].str.contains(\"万/月\")]\n",
    "\n",
    "#第二提取最低工资，并获取千的数值\n",
    "df_万月[\"最低工资\"] = df_万月[\"薪资\"].astype(str).str.replace(\"万/月\",\"\").str.split(\"-\").str[0].astype(float) * 10\n",
    "df_万月[\"最低工资\"] = df_万月[\"最低工资\"].astype(int)\n",
    "#第三提取最高工资，并获取千的数值\n",
    "df_万月[\"最高工资\"] = df_万月[\"薪资\"].astype(str).str.replace(\"万/月\",\"\").str.split(\"-\").str[1].astype(float) * 10\n",
    "df_万月[\"最高工资\"] = df_万月[\"最高工资\"].astype(int)\n",
    "##第四合并数值，符合要求\n",
    "df_万月[\"工资千/月\"] = df_万月[\"最低工资\"].astype(str) + \"-\" + df_万月[\"最高工资\"].astype(str) +\"千/月\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1.8-3万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>18</td>\n",
       "      <td>30</td>\n",
       "      <td>18-30千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>1-2万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>10</td>\n",
       "      <td>20</td>\n",
       "      <td>10-20千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师/需驻场（广丰）</td>\n",
       "      <td>2-3万/月</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、根据客户需求与业务调研分析，构建分析场景，确定分析目标，深度挖掘形成可落地的分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>20</td>\n",
       "      <td>30</td>\n",
       "      <td>20-30千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析师</td>\n",
       "      <td>0.6-1万/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1、各业务数据统计（包括日常报表及其它个性化分析）与答疑工作；2、对接及处理市场...</td>\n",
       "      <td>无</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>金融</td>\n",
       "      <td>6</td>\n",
       "      <td>10</td>\n",
       "      <td>6-10千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>广州</td>\n",
       "      <td>爬虫工程师/数据分析师（服装+跨境电商）</td>\n",
       "      <td>0.8-1万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>2</td>\n",
       "      <td>1．熟悉跨境电商平台操作，构建数据挖掘、数据分析体系，负责大数据的分类汇总、分析研究和数据建...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>10</td>\n",
       "      <td>8-10千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12242</th>\n",
       "      <td>长沙</td>\n",
       "      <td>产品经理-长沙</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责1、至少2年以上实际产品设计经验，有互联网金融行业经验优先；2、具备敏锐的产品思维及...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>10-15千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12250</th>\n",
       "      <td>长沙</td>\n",
       "      <td>Scientist（微生物主管）</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1.?维护微生物实验室检测环境，确保微生物检测规范和日常工作符合cGMP、GLP、ISO17...</td>\n",
       "      <td>外资（欧美）</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>制药</td>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>10-15千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12252</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>10-15千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12253</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信</td>\n",
       "      <td>10</td>\n",
       "      <td>18</td>\n",
       "      <td>10-18千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12255</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易</td>\n",
       "      <td>15</td>\n",
       "      <td>20</td>\n",
       "      <td>15-20千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8072 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市                  招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "1      广州                 数据分析师  1.8-3万/月    2年经验  本科   若干   \n",
       "4      广州                 数据分析师    1-2万/月    2年经验  大专    2   \n",
       "8      广州         数据分析师/需驻场（广丰）    2-3万/月  5-7年经验  本科    1   \n",
       "9      广州                 数据分析师  0.6-1万/月    1年经验  本科    1   \n",
       "10     广州  爬虫工程师/数据分析师（服装+跨境电商）  0.8-1万/月    2年经验  本科    2   \n",
       "...    ..                   ...       ...     ...  ..  ...   \n",
       "12242  长沙               产品经理-长沙  1-1.5万/月  5-7年经验  本科    1   \n",
       "12250  长沙      Scientist（微生物主管）  1-1.5万/月  3-4年经验  本科    1   \n",
       "12252  长沙               亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12253  长沙                  HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12255  长沙              万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息    公司类型        公司规模  \\\n",
       "1      1、及时响应业务团队数据统计分析需求，输出可读性强的分析报告；2、结合分析结果及对业务需求的...    民营公司           无   \n",
       "4      根据电商发展战略，制定数据分析报表，进行行业、竞品分析，自品牌销售预测以及制定各类模型，为销...    民营公司     50-150人   \n",
       "8      岗位职责：1、根据客户需求与业务调研分析，构建分析场景，确定分析目标，深度挖掘形成可落地的分...    民营公司     50-150人   \n",
       "9      【岗位职责】1、各业务数据统计（包括日常报表及其它个性化分析）与答疑工作；2、对接及处理市场...       无  1000-5000人   \n",
       "10     1．熟悉跨境电商平台操作，构建数据挖掘、数据分析体系，负责大数据的分类汇总、分析研究和数据建...    民营公司     50-150人   \n",
       "...                                                  ...     ...         ...   \n",
       "12242  岗位职责1、至少2年以上实际产品设计经验，有互联网金融行业经验优先；2、具备敏锐的产品思维及...    民营公司   500-1000人   \n",
       "12250  1.?维护微生物实验室检测环境，确保微生物检测规范和日常工作符合cGMP、GLP、ISO17...  外资（欧美）    150-500人   \n",
       "12252  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...      合资     50-150人   \n",
       "12253  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...    民营公司    150-500人   \n",
       "12255  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...    民营公司    150-500人   \n",
       "\n",
       "        所属行业  最低工资  最高工资     工资千/月  \n",
       "1      计算机软件    18    30  18-30千/月  \n",
       "4        互联网    10    20  10-20千/月  \n",
       "8      计算机软件    20    30  20-30千/月  \n",
       "9         金融     6    10   6-10千/月  \n",
       "10       互联网     8    10   8-10千/月  \n",
       "...      ...   ...   ...       ...  \n",
       "12242    互联网    10    15  10-15千/月  \n",
       "12250     制药    10    15  10-15千/月  \n",
       "12252    互联网    10    15  10-15千/月  \n",
       "12253     通信    10    18  10-18千/月  \n",
       "12255     贸易    15    20  15-20千/月  \n",
       "\n",
       "[8072 rows x 13 columns]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_万月\n",
    "# = df_万月[[\"薪资\",\"工资千/月\"]]#拿取特定的列，方便合并\n",
    "# df_万月"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-21-ba3c66284331>:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_千月[\"最低工资\"] = df_千月[\"薪资\"].astype(str).str.replace(\"千/月\",\"\").str.split(\"-\").str[0].astype(float)\n",
      "<ipython-input-21-ba3c66284331>:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_千月[\"最低工资\"] = df_千月[\"最低工资\"].astype(int)\n",
      "<ipython-input-21-ba3c66284331>:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_千月[\"最高工资\"] = df_千月[\"薪资\"].astype(str).str.replace(\"千/月\",\"\").str.split(\"-\").str[1].astype(float)\n",
      "<ipython-input-21-ba3c66284331>:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_千月[\"最高工资\"] = df_千月[\"最高工资\"].astype(int)\n",
      "<ipython-input-21-ba3c66284331>:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_千月[\"工资千/月\"] = df_千月[\"最低工资\"].astype(str) + \"-\" + df_千月[\"最高工资\"].astype(str) +\"千/月\"\n"
     ]
    }
   ],
   "source": [
    "df_千月 = data1.loc[data1[\"薪资\"].str.contains(\"千/月\")]\n",
    "df_千月[\"最低工资\"] = df_千月[\"薪资\"].astype(str).str.replace(\"千/月\",\"\").str.split(\"-\").str[0].astype(float)\n",
    "df_千月[\"最低工资\"] = df_千月[\"最低工资\"].astype(int)\n",
    "#第三提取最高工资，并获取千的数值\n",
    "df_千月[\"最高工资\"] = df_千月[\"薪资\"].astype(str).str.replace(\"千/月\",\"\").str.split(\"-\").str[1].astype(float)\n",
    "df_千月[\"最高工资\"] = df_千月[\"最高工资\"].astype(int)\n",
    "df_千月[\"工资千/月\"] = df_千月[\"最低工资\"].astype(str) + \"-\" + df_千月[\"最高工资\"].astype(str) +\"千/月\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-22-e776a3f538d4>:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_千月[\"工资千/月\"] = df_千月[\"薪资\"]#为了方便后续合并，因此增加一列\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>商品数据分析</td>\n",
       "      <td>7-8千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>服装</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>7-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析专员/助理</td>\n",
       "      <td>5-6千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>新能源</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>5-6千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>广州</td>\n",
       "      <td>销售数据分析（双休）</td>\n",
       "      <td>6-8千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.根据排产计划及生产状况，测算生产人员满足率，协调相关部门调配资源，开展人员调度...</td>\n",
       "      <td>国企</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>农</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>广州</td>\n",
       "      <td>电商数据分析专员</td>\n",
       "      <td>6-7千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>2</td>\n",
       "      <td>岗位职责1、工作内容：消费者分析、市场分析、营销效果分析2、结合业务需求，对电商后台数据进行...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>批发</td>\n",
       "      <td>6</td>\n",
       "      <td>7</td>\n",
       "      <td>6-7千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析员（双休）</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、在亚马逊、其他第三方平台进行精准数据的筛选、采集；2、对采集的数据进行分类管理...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>交通</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4-6千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12246</th>\n",
       "      <td>长沙</td>\n",
       "      <td>文案编辑</td>\n",
       "      <td>6-8千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>餐饮业</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12247</th>\n",
       "      <td>长沙</td>\n",
       "      <td>跨境电商运营</td>\n",
       "      <td>6-8千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>医疗</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12248</th>\n",
       "      <td>长沙</td>\n",
       "      <td>客服管理储备干部</td>\n",
       "      <td>6-9千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>6</td>\n",
       "      <td>9</td>\n",
       "      <td>6-9千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12249</th>\n",
       "      <td>长沙</td>\n",
       "      <td>网络主播</td>\n",
       "      <td>4.5-6千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...</td>\n",
       "      <td>外资（非欧美）</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>制药</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5-6千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12254</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4-6千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3349 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市        招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "2      广州      商品数据分析    7-8千/月    1年经验  不限    1   \n",
       "3      广州   数据分析专员/助理    5-6千/月    2年经验  大专    1   \n",
       "5      广州  销售数据分析（双休）    6-8千/月  3-4年经验  大专    1   \n",
       "6      广州    电商数据分析专员    6-7千/月    1年经验  本科    2   \n",
       "13     广州   数据分析员（双休）    4-6千/月  3-4年经验  大专    1   \n",
       "...    ..         ...       ...     ...  ..  ...   \n",
       "12246  长沙        文案编辑    6-8千/月    2年经验  大专    1   \n",
       "12247  长沙      跨境电商运营    6-8千/月    2年经验  大专    1   \n",
       "12248  长沙    客服管理储备干部    6-9千/月    2年经验  本科    1   \n",
       "12249  长沙        网络主播  4.5-6千/月    1年经验  大专    1   \n",
       "12254  长沙        订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "\n",
       "                                                    职位信息     公司类型        公司规模  \\\n",
       "2      1、商品相关数据进行采集统计分析，包括进销存分析，销存对比分析，同比、环比分析等，并将分析结...     民营公司   500-1000人   \n",
       "3      岗位职责：1、负责进行客户资源电话筛选、售后电话回访工作2、负责维护客户关系，分析新老客户的...     民营公司    150-500人   \n",
       "5      岗位职责：1.根据排产计划及生产状况，测算生产人员满足率，协调相关部门调配资源，开展人员调度...       国企  1000-5000人   \n",
       "6      岗位职责1、工作内容：消费者分析、市场分析、营销效果分析2、结合业务需求，对电商后台数据进行...     民营公司   500-1000人   \n",
       "13     岗位职责：1、在亚马逊、其他第三方平台进行精准数据的筛选、采集；2、对采集的数据进行分类管理...     民营公司       少于50人   \n",
       "...                                                  ...      ...         ...   \n",
       "12246  岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...     民营公司  1000-5000人   \n",
       "12247  职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...     民营公司           无   \n",
       "12248  岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...     民营公司   500-1000人   \n",
       "12249  1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...  外资（非欧美）       少于50人   \n",
       "12254  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...     民营公司   500-1000人   \n",
       "\n",
       "        所属行业  最低工资  最高工资     工资千/月  \n",
       "2         服装     7     8    7-8千/月  \n",
       "3        新能源     5     6    5-6千/月  \n",
       "5          农     6     8    6-8千/月  \n",
       "6         批发     6     7    6-7千/月  \n",
       "13        交通     4     6    4-6千/月  \n",
       "...      ...   ...   ...       ...  \n",
       "12246    餐饮业     6     8    6-8千/月  \n",
       "12247     医疗     6     8    6-8千/月  \n",
       "12248    互联网     6     9    6-9千/月  \n",
       "12249     制药     4     6  4.5-6千/月  \n",
       "12254  快速消费品     4     6    4-6千/月  \n",
       "\n",
       "[3349 rows x 13 columns]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_千月[\"工资千/月\"] = df_千月[\"薪资\"]#为了方便后续合并，因此增加一列\n",
    "df_千月"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析研究员（电商）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>17-25千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析经理（部门负责人）</td>\n",
       "      <td>15-20万/年</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...</td>\n",
       "      <td>上市公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>建筑</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>12-17千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪13万店铺业务数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>广州</td>\n",
       "      <td>高级数据分析师</td>\n",
       "      <td>20-40万/年</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...</td>\n",
       "      <td>国企</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>17</td>\n",
       "      <td>33</td>\n",
       "      <td>17-33千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12242</th>\n",
       "      <td>长沙</td>\n",
       "      <td>产品经理-长沙</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责1、至少2年以上实际产品设计经验，有互联网金融行业经验优先；2、具备敏锐的产品思维及...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>10-15千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12250</th>\n",
       "      <td>长沙</td>\n",
       "      <td>Scientist（微生物主管）</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1.?维护微生物实验室检测环境，确保微生物检测规范和日常工作符合cGMP、GLP、ISO17...</td>\n",
       "      <td>外资（欧美）</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>制药</td>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>10-15千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12252</th>\n",
       "      <td>长沙</td>\n",
       "      <td>亚马逊资深运营</td>\n",
       "      <td>1-1.5万/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...</td>\n",
       "      <td>合资</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>10-15千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12253</th>\n",
       "      <td>长沙</td>\n",
       "      <td>HRBP</td>\n",
       "      <td>1-1.8万/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>通信</td>\n",
       "      <td>10</td>\n",
       "      <td>18</td>\n",
       "      <td>10-18千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12255</th>\n",
       "      <td>长沙</td>\n",
       "      <td>万元高薪销售总监</td>\n",
       "      <td>1.5-2万/月</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>不限</td>\n",
       "      <td>1</td>\n",
       "      <td>一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>贸易</td>\n",
       "      <td>15</td>\n",
       "      <td>20</td>\n",
       "      <td>15-20千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8880 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市              招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州     年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "7      广州       数据分析研究员（电商）  20-30万/年  3-4年经验  本科    1   \n",
       "22     广州     数据分析经理（部门负责人）  15-20万/年  5-7年经验  本科    1   \n",
       "23     广州     年薪13万店铺业务数据分析  10-15万/年    1年经验  本科   若干   \n",
       "87     广州           高级数据分析师  20-40万/年  5-7年经验  本科    1   \n",
       "...    ..               ...       ...     ...  ..  ...   \n",
       "12242  长沙           产品经理-长沙  1-1.5万/月  5-7年经验  本科    1   \n",
       "12250  长沙  Scientist（微生物主管）  1-1.5万/月  3-4年经验  本科    1   \n",
       "12252  长沙           亚马逊资深运营  1-1.5万/月    2年经验  大专    1   \n",
       "12253  长沙              HRBP  1-1.8万/月  3-4年经验  大专    1   \n",
       "12255  长沙          万元高薪销售总监  1.5-2万/月    无需经验  不限    1   \n",
       "\n",
       "                                                    职位信息    公司类型       公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...    民营公司  500-1000人   \n",
       "7      岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...    民营公司   150-500人   \n",
       "22     1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...    上市公司    50-150人   \n",
       "23     工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...    民营公司   150-500人   \n",
       "87     岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...      国企  500-1000人   \n",
       "...                                                  ...     ...        ...   \n",
       "12242  岗位职责1、至少2年以上实际产品设计经验，有互联网金融行业经验优先；2、具备敏锐的产品思维及...    民营公司  500-1000人   \n",
       "12250  1.?维护微生物实验室检测环境，确保微生物检测规范和日常工作符合cGMP、GLP、ISO17...  外资（欧美）   150-500人   \n",
       "12252  1.负责公司品牌产品（电子产品）在亚马逊平台上的销售，推广与运营；2.根据品牌定位、产品卖点...      合资    50-150人   \n",
       "12253  【岗位职责】1.根据公司业务规划，制定人力资源规划并落地；2.协助总经理识别和诊断各业务部门...    民营公司   150-500人   \n",
       "12255  一、岗位职责1、负责管理特定的几个区域，制定销售目标并执行；2、与销售人员沟通销售策略和计划...    民营公司   150-500人   \n",
       "\n",
       "                   所属行业  最低工资  最高工资     工资千/月  \n",
       "0                   互联网     8    12   8-12千/月  \n",
       "7                 计算机软件    17    25  17-25千/月  \n",
       "22                   建筑    12    17  12-17千/月  \n",
       "23                  互联网     8    12   8-12千/月  \n",
       "87     专业服务(咨询、人力资源、财会)    17    33  17-33千/月  \n",
       "...                 ...   ...   ...       ...  \n",
       "12242               互联网    10    15  10-15千/月  \n",
       "12250                制药    10    15  10-15千/月  \n",
       "12252               互联网    10    15  10-15千/月  \n",
       "12253                通信    10    18  10-18千/月  \n",
       "12255                贸易    15    20  15-20千/月  \n",
       "\n",
       "[8880 rows x 13 columns]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "he=pd.concat([df_万年,df_万月])\n",
    "he"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>薪资</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析研究员（电商）</td>\n",
       "      <td>20-30万/年</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>17-25千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析经理（部门负责人）</td>\n",
       "      <td>15-20万/年</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...</td>\n",
       "      <td>上市公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>建筑</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>12-17千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪13万店铺业务数据分析</td>\n",
       "      <td>10-15万/年</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>广州</td>\n",
       "      <td>高级数据分析师</td>\n",
       "      <td>20-40万/年</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...</td>\n",
       "      <td>国企</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>17</td>\n",
       "      <td>33</td>\n",
       "      <td>17-33千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12246</th>\n",
       "      <td>长沙</td>\n",
       "      <td>文案编辑</td>\n",
       "      <td>6-8千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>餐饮业</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12247</th>\n",
       "      <td>长沙</td>\n",
       "      <td>跨境电商运营</td>\n",
       "      <td>6-8千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>医疗</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12248</th>\n",
       "      <td>长沙</td>\n",
       "      <td>客服管理储备干部</td>\n",
       "      <td>6-9千/月</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>6</td>\n",
       "      <td>9</td>\n",
       "      <td>6-9千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12249</th>\n",
       "      <td>长沙</td>\n",
       "      <td>网络主播</td>\n",
       "      <td>4.5-6千/月</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...</td>\n",
       "      <td>外资（非欧美）</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>制药</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5-6千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12254</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>4-6千/月</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4-6千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12229 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位        薪资    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析  10-15万/年    1年经验  本科   若干   \n",
       "7      广州    数据分析研究员（电商）  20-30万/年  3-4年经验  本科    1   \n",
       "22     广州  数据分析经理（部门负责人）  15-20万/年  5-7年经验  本科    1   \n",
       "23     广州  年薪13万店铺业务数据分析  10-15万/年    1年经验  本科   若干   \n",
       "87     广州        高级数据分析师  20-40万/年  5-7年经验  本科    1   \n",
       "...    ..            ...       ...     ...  ..  ...   \n",
       "12246  长沙           文案编辑    6-8千/月    2年经验  大专    1   \n",
       "12247  长沙         跨境电商运营    6-8千/月    2年经验  大专    1   \n",
       "12248  长沙       客服管理储备干部    6-9千/月    2年经验  本科    1   \n",
       "12249  长沙           网络主播  4.5-6千/月    1年经验  大专    1   \n",
       "12254  长沙           订单专员    4-6千/月  3-4年经验  大专    1   \n",
       "\n",
       "                                                    职位信息     公司类型        公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...     民营公司   500-1000人   \n",
       "7      岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...     民营公司    150-500人   \n",
       "22     1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...     上市公司     50-150人   \n",
       "23     工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...     民营公司    150-500人   \n",
       "87     岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...       国企   500-1000人   \n",
       "...                                                  ...      ...         ...   \n",
       "12246  岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...     民营公司  1000-5000人   \n",
       "12247  职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...     民营公司           无   \n",
       "12248  岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...     民营公司   500-1000人   \n",
       "12249  1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...  外资（非欧美）       少于50人   \n",
       "12254  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...     民营公司   500-1000人   \n",
       "\n",
       "                   所属行业  最低工资  最高工资     工资千/月  \n",
       "0                   互联网     8    12   8-12千/月  \n",
       "7                 计算机软件    17    25  17-25千/月  \n",
       "22                   建筑    12    17  12-17千/月  \n",
       "23                  互联网     8    12   8-12千/月  \n",
       "87     专业服务(咨询、人力资源、财会)    17    33  17-33千/月  \n",
       "...                 ...   ...   ...       ...  \n",
       "12246               餐饮业     6     8    6-8千/月  \n",
       "12247                医疗     6     8    6-8千/月  \n",
       "12248               互联网     6     9    6-9千/月  \n",
       "12249                制药     4     6  4.5-6千/月  \n",
       "12254             快速消费品     4     6    4-6千/月  \n",
       "\n",
       "[12229 rows x 13 columns]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zong=pd.concat([he,df_千月])\n",
    "zong"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 修改列名并删除薪资"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "zong.drop('薪资',axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资 千/月</th>\n",
       "      <th>最高工资 千/月</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析研究员（电商）</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>17-25千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析经理（部门负责人）</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...</td>\n",
       "      <td>上市公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>建筑</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>12-17千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪13万店铺业务数据分析</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>广州</td>\n",
       "      <td>高级数据分析师</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...</td>\n",
       "      <td>国企</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>17</td>\n",
       "      <td>33</td>\n",
       "      <td>17-33千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12246</th>\n",
       "      <td>长沙</td>\n",
       "      <td>文案编辑</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>餐饮业</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12247</th>\n",
       "      <td>长沙</td>\n",
       "      <td>跨境电商运营</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>医疗</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12248</th>\n",
       "      <td>长沙</td>\n",
       "      <td>客服管理储备干部</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>6</td>\n",
       "      <td>9</td>\n",
       "      <td>6-9千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12249</th>\n",
       "      <td>长沙</td>\n",
       "      <td>网络主播</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...</td>\n",
       "      <td>外资（非欧美）</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>制药</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5-6千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12254</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4-6千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12229 rows × 12 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析    1年经验  本科   若干   \n",
       "7      广州    数据分析研究员（电商）  3-4年经验  本科    1   \n",
       "22     广州  数据分析经理（部门负责人）  5-7年经验  本科    1   \n",
       "23     广州  年薪13万店铺业务数据分析    1年经验  本科   若干   \n",
       "87     广州        高级数据分析师  5-7年经验  本科    1   \n",
       "...    ..            ...     ...  ..  ...   \n",
       "12246  长沙           文案编辑    2年经验  大专    1   \n",
       "12247  长沙         跨境电商运营    2年经验  大专    1   \n",
       "12248  长沙       客服管理储备干部    2年经验  本科    1   \n",
       "12249  长沙           网络主播    1年经验  大专    1   \n",
       "12254  长沙           订单专员  3-4年经验  大专    1   \n",
       "\n",
       "                                                    职位信息     公司类型        公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...     民营公司   500-1000人   \n",
       "7      岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...     民营公司    150-500人   \n",
       "22     1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...     上市公司     50-150人   \n",
       "23     工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...     民营公司    150-500人   \n",
       "87     岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...       国企   500-1000人   \n",
       "...                                                  ...      ...         ...   \n",
       "12246  岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...     民营公司  1000-5000人   \n",
       "12247  职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...     民营公司           无   \n",
       "12248  岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...     民营公司   500-1000人   \n",
       "12249  1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...  外资（非欧美）       少于50人   \n",
       "12254  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...     民营公司   500-1000人   \n",
       "\n",
       "                   所属行业  最低工资 千/月  最高工资 千/月     工资千/月  \n",
       "0                   互联网         8        12   8-12千/月  \n",
       "7                 计算机软件        17        25  17-25千/月  \n",
       "22                   建筑        12        17  12-17千/月  \n",
       "23                  互联网         8        12   8-12千/月  \n",
       "87     专业服务(咨询、人力资源、财会)        17        33  17-33千/月  \n",
       "...                 ...       ...       ...       ...  \n",
       "12246               餐饮业         6         8    6-8千/月  \n",
       "12247                医疗         6         8    6-8千/月  \n",
       "12248               互联网         6         9    6-9千/月  \n",
       "12249                制药         4         6  4.5-6千/月  \n",
       "12254             快速消费品         4         6    4-6千/月  \n",
       "\n",
       "[12229 rows x 12 columns]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zong.rename(columns={'最低工资':'最低工资 千/月','最高工资':'最高工资 千/月'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "城市       0\n",
       "招聘岗位     0\n",
       "工作经验     0\n",
       "学历       0\n",
       "所招人数     0\n",
       "职位信息     0\n",
       "公司类型     0\n",
       "公司规模     0\n",
       "所属行业     0\n",
       "最低工资     0\n",
       "最高工资     0\n",
       "工资千/月    0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#再次检查数据，无空缺值\n",
    "zong.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "zong.to_excel(excel_writer=\"final_data.xlsx\",index=False,encoding='utf-8')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据清洗后展示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析研究员（电商）</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>17-25千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析经理（部门负责人）</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...</td>\n",
       "      <td>上市公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>建筑</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>12-17千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪13万店铺业务数据分析</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>高级数据分析师</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...</td>\n",
       "      <td>国企</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>17</td>\n",
       "      <td>33</td>\n",
       "      <td>17-33千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12224</th>\n",
       "      <td>长沙</td>\n",
       "      <td>文案编辑</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>餐饮业</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12225</th>\n",
       "      <td>长沙</td>\n",
       "      <td>跨境电商运营</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>医疗</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>6-8千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12226</th>\n",
       "      <td>长沙</td>\n",
       "      <td>客服管理储备干部</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>6</td>\n",
       "      <td>9</td>\n",
       "      <td>6-9千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12227</th>\n",
       "      <td>长沙</td>\n",
       "      <td>网络主播</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...</td>\n",
       "      <td>外资（非欧美）</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>制药</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5-6千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12228</th>\n",
       "      <td>长沙</td>\n",
       "      <td>订单专员</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>快速消费品</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4-6千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12229 rows × 12 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市           招聘岗位    工作经验  学历 所招人数  \\\n",
       "0      广州  年薪14万店铺销售数据分析    1年经验  本科   若干   \n",
       "1      广州    数据分析研究员（电商）  3-4年经验  本科    1   \n",
       "2      广州  数据分析经理（部门负责人）  5-7年经验  本科    1   \n",
       "3      广州  年薪13万店铺业务数据分析    1年经验  本科   若干   \n",
       "4      广州        高级数据分析师  5-7年经验  本科    1   \n",
       "...    ..            ...     ...  ..  ...   \n",
       "12224  长沙           文案编辑    2年经验  大专    1   \n",
       "12225  长沙         跨境电商运营    2年经验  大专    1   \n",
       "12226  长沙       客服管理储备干部    2年经验  本科    1   \n",
       "12227  长沙           网络主播    1年经验  大专    1   \n",
       "12228  长沙           订单专员  3-4年经验  大专    1   \n",
       "\n",
       "                                                    职位信息     公司类型        公司规模  \\\n",
       "0      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...     民营公司   500-1000人   \n",
       "1      岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...     民营公司    150-500人   \n",
       "2      1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...     上市公司     50-150人   \n",
       "3      工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...     民营公司    150-500人   \n",
       "4      岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...       国企   500-1000人   \n",
       "...                                                  ...      ...         ...   \n",
       "12224  岗位要求：1、大专以上学历，?2年以上文案策划或内容运营相关经验，能自主完成工作，有食品行业...     民营公司  1000-5000人   \n",
       "12225  职位描述：1、负责公司平台日常运营管理，确保店铺高效运转，完成公司下达的任务；2、负责平台促...     民营公司           无   \n",
       "12226  岗位职责：1.负责主动搜集、研究平台政策，挖掘政策规则，筛选有用信息并整理成文档；2.负责监...     民营公司   500-1000人   \n",
       "12227  1、有互联网直播相关工作经验。2、对于直播行业有充分的兴趣和爱好，对于直播市场有一定的理解能...  外资（非欧美）       少于50人   \n",
       "12228  岗位职责：1、订单相关：①负责将外部订单转为系统订单，跟进订单打款、转单、发货等操作；②退单...     民营公司   500-1000人   \n",
       "\n",
       "                   所属行业  最低工资  最高工资     工资千/月  \n",
       "0                   互联网     8    12   8-12千/月  \n",
       "1                 计算机软件    17    25  17-25千/月  \n",
       "2                    建筑    12    17  12-17千/月  \n",
       "3                   互联网     8    12   8-12千/月  \n",
       "4      专业服务(咨询、人力资源、财会)    17    33  17-33千/月  \n",
       "...                 ...   ...   ...       ...  \n",
       "12224               餐饮业     6     8    6-8千/月  \n",
       "12225                医疗     6     8    6-8千/月  \n",
       "12226               互联网     6     9    6-9千/月  \n",
       "12227                制药     4     6  4.5-6千/月  \n",
       "12228             快速消费品     4     6    4-6千/月  \n",
       "\n",
       "[12229 rows x 12 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读取数据\n",
    "data = pd.read_excel('final_data.xlsx',encoding='gbk')\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
       "        <span id=\"1001\">Loading BokehJS ...</span>\n",
       "    </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(root) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var force = true;\n",
       "\n",
       "  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
       "    root._bokeh_onload_callbacks = [];\n",
       "    root._bokeh_is_loading = undefined;\n",
       "  }\n",
       "\n",
       "  var JS_MIME_TYPE = 'application/javascript';\n",
       "  var HTML_MIME_TYPE = 'text/html';\n",
       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
       "\n",
       "  /**\n",
       "   * Render data to the DOM node\n",
       "   */\n",
       "  function render(props, node) {\n",
       "    var script = document.createElement(\"script\");\n",
       "    node.appendChild(script);\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when an output is cleared or removed\n",
       "   */\n",
       "  function handleClearOutput(event, handle) {\n",
       "    var cell = handle.cell;\n",
       "\n",
       "    var id = cell.output_area._bokeh_element_id;\n",
       "    var server_id = cell.output_area._bokeh_server_id;\n",
       "    // Clean up Bokeh references\n",
       "    if (id != null && id in Bokeh.index) {\n",
       "      Bokeh.index[id].model.document.clear();\n",
       "      delete Bokeh.index[id];\n",
       "    }\n",
       "\n",
       "    if (server_id !== undefined) {\n",
       "      // Clean up Bokeh references\n",
       "      var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
       "      cell.notebook.kernel.execute(cmd, {\n",
       "        iopub: {\n",
       "          output: function(msg) {\n",
       "            var id = msg.content.text.trim();\n",
       "            if (id in Bokeh.index) {\n",
       "              Bokeh.index[id].model.document.clear();\n",
       "              delete Bokeh.index[id];\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "      });\n",
       "      // Destroy server and session\n",
       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
       "      cell.notebook.kernel.execute(cmd);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when a new output is added\n",
       "   */\n",
       "  function handleAddOutput(event, handle) {\n",
       "    var output_area = handle.output_area;\n",
       "    var output = handle.output;\n",
       "\n",
       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
       "    if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
       "      return\n",
       "    }\n",
       "\n",
       "    var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
       "\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
       "      toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
       "      // store reference to embed id on output_area\n",
       "      output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
       "    }\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
       "      var bk_div = document.createElement(\"div\");\n",
       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
       "      var script_attrs = bk_div.children[0].attributes;\n",
       "      for (var i = 0; i < script_attrs.length; i++) {\n",
       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
       "        toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n",
       "      }\n",
       "      // store reference to server id on output_area\n",
       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
       "    }\n",
       "  }\n",
       "\n",
       "  function register_renderer(events, OutputArea) {\n",
       "\n",
       "    function append_mime(data, metadata, element) {\n",
       "      // create a DOM node to render to\n",
       "      var toinsert = this.create_output_subarea(\n",
       "        metadata,\n",
       "        CLASS_NAME,\n",
       "        EXEC_MIME_TYPE\n",
       "      );\n",
       "      this.keyboard_manager.register_events(toinsert);\n",
       "      // Render to node\n",
       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
       "      render(props, toinsert[toinsert.length - 1]);\n",
       "      element.append(toinsert);\n",
       "      return toinsert\n",
       "    }\n",
       "\n",
       "    /* Handle when an output is cleared or removed */\n",
       "    events.on('clear_output.CodeCell', handleClearOutput);\n",
       "    events.on('delete.Cell', handleClearOutput);\n",
       "\n",
       "    /* Handle when a new output is added */\n",
       "    events.on('output_added.OutputArea', handleAddOutput);\n",
       "\n",
       "    /**\n",
       "     * Register the mime type and append_mime function with output_area\n",
       "     */\n",
       "    OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
       "      /* Is output safe? */\n",
       "      safe: true,\n",
       "      /* Index of renderer in `output_area.display_order` */\n",
       "      index: 0\n",
       "    });\n",
       "  }\n",
       "\n",
       "  // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
       "  if (root.Jupyter !== undefined) {\n",
       "    var events = require('base/js/events');\n",
       "    var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
       "\n",
       "    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
       "      register_renderer(events, OutputArea);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  \n",
       "  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
       "    root._bokeh_timeout = Date.now() + 5000;\n",
       "    root._bokeh_failed_load = false;\n",
       "  }\n",
       "\n",
       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\n\"+\n",
       "     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
       "     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\n",
       "\n",
       "  function display_loaded() {\n",
       "    var el = document.getElementById(\"1001\");\n",
       "    if (el != null) {\n",
       "      el.textContent = \"BokehJS is loading...\";\n",
       "    }\n",
       "    if (root.Bokeh !== undefined) {\n",
       "      if (el != null) {\n",
       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
       "      }\n",
       "    } else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(display_loaded, 100)\n",
       "    }\n",
       "  }\n",
       "\n",
       "\n",
       "  function run_callbacks() {\n",
       "    try {\n",
       "      root._bokeh_onload_callbacks.forEach(function(callback) {\n",
       "        if (callback != null)\n",
       "          callback();\n",
       "      });\n",
       "    } finally {\n",
       "      delete root._bokeh_onload_callbacks\n",
       "    }\n",
       "    console.debug(\"Bokeh: all callbacks have finished\");\n",
       "  }\n",
       "\n",
       "  function load_libs(css_urls, js_urls, callback) {\n",
       "    if (css_urls == null) css_urls = [];\n",
       "    if (js_urls == null) js_urls = [];\n",
       "\n",
       "    root._bokeh_onload_callbacks.push(callback);\n",
       "    if (root._bokeh_is_loading > 0) {\n",
       "      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "      return null;\n",
       "    }\n",
       "    if (js_urls == null || js_urls.length === 0) {\n",
       "      run_callbacks();\n",
       "      return null;\n",
       "    }\n",
       "    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "    root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
       "\n",
       "    function on_load() {\n",
       "      root._bokeh_is_loading--;\n",
       "      if (root._bokeh_is_loading === 0) {\n",
       "        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
       "        run_callbacks()\n",
       "      }\n",
       "    }\n",
       "\n",
       "    function on_error() {\n",
       "      console.error(\"failed to load \" + url);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < css_urls.length; i++) {\n",
       "      var url = css_urls[i];\n",
       "      const element = document.createElement(\"link\");\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.rel = \"stylesheet\";\n",
       "      element.type = \"text/css\";\n",
       "      element.href = url;\n",
       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
       "      document.body.appendChild(element);\n",
       "    }\n",
       "\n",
       "    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n",
       "\n",
       "    for (var i = 0; i < js_urls.length; i++) {\n",
       "      var url = js_urls[i];\n",
       "      var element = document.createElement('script');\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.async = false;\n",
       "      element.src = url;\n",
       "      if (url in hashes) {\n",
       "        element.crossOrigin = \"anonymous\";\n",
       "        element.integrity = \"sha384-\" + hashes[url];\n",
       "      }\n",
       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.head.appendChild(element);\n",
       "    }\n",
       "  };\n",
       "\n",
       "  function inject_raw_css(css) {\n",
       "    const element = document.createElement(\"style\");\n",
       "    element.appendChild(document.createTextNode(css));\n",
       "    document.body.appendChild(element);\n",
       "  }\n",
       "\n",
       "  \n",
       "  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n",
       "  var css_urls = [];\n",
       "  \n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    function(Bokeh) {\n",
       "    \n",
       "    \n",
       "    }\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    \n",
       "    if (root.Bokeh !== undefined || force === true) {\n",
       "      \n",
       "    for (var i = 0; i < inline_js.length; i++) {\n",
       "      inline_js[i].call(root, root.Bokeh);\n",
       "    }\n",
       "    if (force === true) {\n",
       "        display_loaded();\n",
       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(run_inline_js, 100);\n",
       "    } else if (!root._bokeh_failed_load) {\n",
       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
       "      root._bokeh_failed_load = true;\n",
       "    } else if (force !== true) {\n",
       "      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n",
       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
       "    }\n",
       "\n",
       "  }\n",
       "\n",
       "  if (root._bokeh_is_loading === 0) {\n",
       "    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(css_urls, js_urls, function() {\n",
       "      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(window));"
      ],
      "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n\n  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n    root._bokeh_onload_callbacks = [];\n    root._bokeh_is_loading = undefined;\n  }\n\n  \n\n  \n  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  var NB_LOAD_WARNING = {'data': {'text/html':\n     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\n\"+\n     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\n\n  function display_loaded() {\n    var el = document.getElementById(\"1001\");\n    if (el != null) {\n      el.textContent = \"BokehJS is loading...\";\n    }\n    if (root.Bokeh !== undefined) {\n      if (el != null) {\n        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n      }\n    } else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(display_loaded, 100)\n    }\n  }\n\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n\n    root._bokeh_onload_callbacks.push(callback);\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls == null || js_urls.length === 0) {\n      run_callbacks();\n      return null;\n    }\n    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n\n    function on_error() {\n      console.error(\"failed to load \" + url);\n    }\n\n    for (var i = 0; i < css_urls.length; i++) {\n      var url = css_urls[i];\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }\n\n    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n    for (var i = 0; i < js_urls.length; i++) {\n      var url = js_urls[i];\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      if (url in hashes) {\n        element.crossOrigin = \"anonymous\";\n        element.integrity = \"sha384-\" + hashes[url];\n      }\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n  };\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  \n  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n  var css_urls = [];\n  \n\n  var inline_js = [\n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    function(Bokeh) {\n    \n    \n    }\n  ];\n\n  function run_inline_js() {\n    \n    if (root.Bokeh !== undefined || force === true) {\n      \n    for (var i = 0; i < inline_js.length; i++) {\n      inline_js[i].call(root, root.Bokeh);\n    }\n    if (force === true) {\n        display_loaded();\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(css_urls, js_urls, function() {\n      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 模块准备\n",
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import Geo\n",
    "from pyecharts.faker import Faker\n",
    "from pyecharts.charts import *\n",
    "from bokeh.models import ColumnDataSource\n",
    "from pyecharts.commons.utils import JsCode\n",
    "from pyecharts.globals import ChartType\n",
    "# 导入bokeh模块\n",
    "from bokeh.plotting import output_notebook,figure,show\n",
    "# 颜色模块\n",
    "from bokeh.transform import factor_cmap\n",
    "from bokeh.palettes import Spectral3,Spectral5\n",
    "from bokeh.models import ColumnDataSource, FactorRange\n",
    "from pyecharts.charts import Funnel\n",
    "output_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 相关城市分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['广州', 2436],\n",
       " ['深圳', 1242],\n",
       " ['上海', 1241],\n",
       " ['北京', 1235],\n",
       " ['杭州', 1233],\n",
       " ['重庆', 1212],\n",
       " ['武汉', 1207],\n",
       " ['天津', 1037],\n",
       " ['南京', 562],\n",
       " ['苏州', 558],\n",
       " ['厦门', 172],\n",
       " ['长沙', 94]]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 取出城市和城市数量\n",
    "cities=list(data['城市'].unique())\n",
    "cities_count=list(data['城市'].value_counts())\n",
    "#合并列表\n",
    "zipped = zip(cities,cities_count)\n",
    "urban=[list(z) for z in zipped]\n",
    "urban"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 数据分析岗位城市数量需求"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"3081ed8d282f40b9b376f71fe4f47511\" style=\"width:700px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_3081ed8d282f40b9b376f71fe4f47511 = echarts.init(\n",
       "                    document.getElementById('3081ed8d282f40b9b376f71fe4f47511'), 'white', {renderer: 'canvas'});\n",
       "                var option_3081ed8d282f40b9b376f71fe4f47511 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#525288\",\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"name\": \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\",\n",
       "            \"data\": [\n",
       "                2436,\n",
       "                1242,\n",
       "                1241,\n",
       "                1235,\n",
       "                1233,\n",
       "                1212,\n",
       "                1207,\n",
       "                1037,\n",
       "                562,\n",
       "                558,\n",
       "                172,\n",
       "                94\n",
       "            ],\n",
       "            \"barCategoryGap\": \"30%\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"insideRight\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"barBorderRadius\": [\n",
       "                        30,\n",
       "                        30,\n",
       "                        30,\n",
       "                        30\n",
       "                    ],\n",
       "                    \"shadowColor\": \"rgb(0, 160, 221)\"\n",
       "                }\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"axisLine\": {\n",
       "                \"show\": false,\n",
       "                \"onZero\": true,\n",
       "                \"onZeroAxisIndex\": 0\n",
       "            },\n",
       "            \"axisTick\": {\n",
       "                \"show\": false,\n",
       "                \"alignWithLabel\": false,\n",
       "                \"inside\": false\n",
       "            },\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u5e7f\\u5dde\",\n",
       "                \"\\u6df1\\u5733\",\n",
       "                \"\\u4e0a\\u6d77\",\n",
       "                \"\\u5317\\u4eac\",\n",
       "                \"\\u676d\\u5dde\",\n",
       "                \"\\u91cd\\u5e86\",\n",
       "                \"\\u6b66\\u6c49\",\n",
       "                \"\\u5929\\u6d25\",\n",
       "                \"\\u5357\\u4eac\",\n",
       "                \"\\u82cf\\u5dde\",\n",
       "                \"\\u53a6\\u95e8\",\n",
       "                \"\\u957f\\u6c99\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u6240\\u6709\\u57ce\\u5e02\\u6570\\u636e\\u5206\\u6790\\u5c97\\u4f4d\\u5e73\\u5747\\u85aa\\u8d44\\uff08\\u5343/\\u6708\\uff09\",\n",
       "            \"left\": \"center\",\n",
       "            \"bottom\": 10,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 20\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_3081ed8d282f40b9b376f71fe4f47511.setOption(option_3081ed8d282f40b9b376f71fe4f47511);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f3f6128280>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 画图\n",
    "b = (\n",
    "    Bar(init_opts=opts.InitOpts(width='700px', height='500px',))\n",
    "    .add_xaxis(cities)\n",
    "    .add_yaxis('职位需求数量',cities_count,category_gap='30%',color='#525288')\n",
    "    .reversal_axis()\n",
    "    .set_global_opts(\n",
    "        xaxis_opts=opts.AxisOpts(is_show=True),    \n",
    "        yaxis_opts=opts.AxisOpts(is_show=True,\n",
    "            axisline_opts=opts.AxisLineOpts(is_show=False),\n",
    "            axistick_opts=opts.AxisTickOpts(is_show=False)\n",
    "        ),\n",
    "        title_opts=opts.TitleOpts(\n",
    "            title='职位需求数量城市差异',\n",
    "            pos_left='9%',\n",
    "            pos_top='2%',\n",
    "            title_textstyle_opts=opts.TextStyleOpts(\n",
    "                color='#126bae', font_size=24)\n",
    "        ),\n",
    "        visualmap_opts=opts.VisualMapOpts(\n",
    "            is_show=True,\n",
    "            max_=2,\n",
    "            range_color=['#525288','#1781b5']\n",
    "         )\n",
    "\n",
    "     )\n",
    "    .set_series_opts(\n",
    "        itemstyle_opts={\n",
    "            \"normal\": {\n",
    "                \"barBorderRadius\": [30, 30, 30, 30],\n",
    "                \"shadowColor\": \"rgb(0, 160, 221)\",\n",
    "            }},\n",
    "    label_opts=opts.LabelOpts(is_show=True,position='insideRight'),\n",
    "    )\n",
    "    .set_global_opts(title_opts=opts.TitleOpts(title=\"所有城市数据分析岗位平均薪资（千/月）\",\n",
    "                                            pos_left=\"center\",pos_bottom=10,\n",
    "                                              title_textstyle_opts=opts.TextStyleOpts(font_size=20)),\n",
    "\n",
    "                        ))\n",
    "    \n",
    "b.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "\n",
    "* 1、广州的数据分析岗位需求最大，岗位需求数量超过两千。长沙的数据分析岗位需求量最少，可能与城市定位有关。\n",
    "\n",
    "* 2、数据分析岗位需求排行前4的城市是广州、深圳、上海、北京，北上广深四大城市经济较为发达，对数据分析岗位的岗位需求相对较多，可以考虑往大城市发展。\n",
    "\n",
    "* 3、除北大广深四大城市外，杭州、重庆、武汉、天津四个城市，也是当前发展的新兴城市，对于数据分析岗位的需求也较多，新兴城市也是迅猛发展的城市，对于老牌大城市，这些新兴城市的生活压力较低，也是不错的选择。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 岗位需求城市分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'china':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"73806684e05a4be2a9de95880d01a997\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'china'], function(echarts) {\n",
       "                var chart_73806684e05a4be2a9de95880d01a997 = echarts.init(\n",
       "                    document.getElementById('73806684e05a4be2a9de95880d01a997'), 'white', {renderer: 'canvas'});\n",
       "                var option_73806684e05a4be2a9de95880d01a997 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"heatmap\",\n",
       "            \"name\": \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\",\n",
       "            \"coordinateSystem\": \"geo\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        113.23,\n",
       "                        23.16,\n",
       "                        2436\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6df1\\u5733\",\n",
       "                    \"value\": [\n",
       "                        114.07,\n",
       "                        22.62,\n",
       "                        1242\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": [\n",
       "                        121.473701,\n",
       "                        31.230416,\n",
       "                        1241\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": [\n",
       "                        116.407526,\n",
       "                        39.90403,\n",
       "                        1235\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u676d\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        120.19,\n",
       "                        30.26,\n",
       "                        1233\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": [\n",
       "                        106.551556,\n",
       "                        29.563009,\n",
       "                        1212\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6b66\\u6c49\",\n",
       "                    \"value\": [\n",
       "                        114.31,\n",
       "                        30.52,\n",
       "                        1207\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": [\n",
       "                        117.200983,\n",
       "                        39.084158,\n",
       "                        1037\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5357\\u4eac\",\n",
       "                    \"value\": [\n",
       "                        118.78,\n",
       "                        32.04,\n",
       "                        562\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u82cf\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        120.62,\n",
       "                        31.32,\n",
       "                        558\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53a6\\u95e8\",\n",
       "                    \"value\": [\n",
       "                        118.1,\n",
       "                        24.46,\n",
       "                        172\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u957f\\u6c99\",\n",
       "                    \"value\": [\n",
       "                        113,\n",
       "                        28.21,\n",
       "                        94\n",
       "                    ]\n",
       "                }\n",
       "            ],\n",
       "            \"pointSize\": 20,\n",
       "            \"blurSize\": 20\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"formatter\": function (params) {        return params.name + ' : ' + params.value[2];    },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u804c\\u4f4d\\u9700\\u6c42\\u2014\\u2014\\u57ce\\u5e02\\u5206\\u5e03\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ],\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"piecewise\",\n",
       "        \"min\": 0,\n",
       "        \"max\": 2500,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#50a3ba\",\n",
       "                \"#eac763\",\n",
       "                \"#d94e5d\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"inverse\": false,\n",
       "        \"splitNumber\": 4,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true,\n",
       "        \"itemWidth\": 20,\n",
       "        \"itemHeight\": 14,\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"geo\": {\n",
       "        \"map\": \"china\",\n",
       "        \"roam\": true,\n",
       "        \"emphasis\": {}\n",
       "    }\n",
       "};\n",
       "                chart_73806684e05a4be2a9de95880d01a997.setOption(option_73806684e05a4be2a9de95880d01a997);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58de47430>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 职位城市分布\n",
    "c = (\n",
    "    Geo()\n",
    "    .add_schema(maptype=\"china\")\n",
    "    .add(\n",
    "        \"职位需求数量\",urban,\n",
    "        type_=ChartType.HEATMAP,\n",
    "    )\n",
    "    .set_global_opts(\n",
    "        visualmap_opts=opts.VisualMapOpts(\n",
    "        max_=2500,\n",
    "        min_=0,\n",
    "        is_piecewise = True,\n",
    "        split_number = 4,\n",
    "        ), \n",
    "        title_opts=opts.TitleOpts(\n",
    "            title=\"职位需求——城市分布\"\n",
    "        )\n",
    "    )\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 岗位需求城市职位数量地图显示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'china':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"f0a9c0d159714dadad6d03e59bd03b6b\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'china'], function(echarts) {\n",
       "                var chart_f0a9c0d159714dadad6d03e59bd03b6b = echarts.init(\n",
       "                    document.getElementById('f0a9c0d159714dadad6d03e59bd03b6b'), 'white', {renderer: 'canvas'});\n",
       "                var option_f0a9c0d159714dadad6d03e59bd03b6b = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"effectScatter\",\n",
       "            \"name\": \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\",\n",
       "            \"coordinateSystem\": \"geo\",\n",
       "            \"showEffectOn\": \"render\",\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            },\n",
       "            \"symbolSize\": 12,\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        113.23,\n",
       "                        23.16,\n",
       "                        2436\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6df1\\u5733\",\n",
       "                    \"value\": [\n",
       "                        114.07,\n",
       "                        22.62,\n",
       "                        1242\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": [\n",
       "                        121.473701,\n",
       "                        31.230416,\n",
       "                        1241\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": [\n",
       "                        116.407526,\n",
       "                        39.90403,\n",
       "                        1235\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u676d\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        120.19,\n",
       "                        30.26,\n",
       "                        1233\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": [\n",
       "                        106.551556,\n",
       "                        29.563009,\n",
       "                        1212\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6b66\\u6c49\",\n",
       "                    \"value\": [\n",
       "                        114.31,\n",
       "                        30.52,\n",
       "                        1207\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": [\n",
       "                        117.200983,\n",
       "                        39.084158,\n",
       "                        1037\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5357\\u4eac\",\n",
       "                    \"value\": [\n",
       "                        118.78,\n",
       "                        32.04,\n",
       "                        562\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u82cf\\u5dde\",\n",
       "                    \"value\": [\n",
       "                        120.62,\n",
       "                        31.32,\n",
       "                        558\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53a6\\u95e8\",\n",
       "                    \"value\": [\n",
       "                        118.1,\n",
       "                        24.46,\n",
       "                        172\n",
       "                    ]\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u957f\\u6c99\",\n",
       "                    \"value\": [\n",
       "                        113,\n",
       "                        28.21,\n",
       "                        94\n",
       "                    ]\n",
       "                }\n",
       "            ],\n",
       "            \"label\": {\n",
       "                \"show\": false,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"formatter\": function (params) {        return params.name + ' : ' + params.value[2];    },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5177\\u4f53\\u57ce\\u5e02\\u804c\\u4f4d\\u9700\\u6c42\\u6570\\u91cf\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ],\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"piecewise\",\n",
       "        \"min\": 80,\n",
       "        \"max\": 2450,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#869d9d\",\n",
       "                \"#a35c8f\",\n",
       "                \"#a7535a\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"inverse\": false,\n",
       "        \"splitNumber\": 3,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true,\n",
       "        \"itemWidth\": 20,\n",
       "        \"itemHeight\": 14,\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"geo\": {\n",
       "        \"map\": \"china\",\n",
       "        \"roam\": true,\n",
       "        \"emphasis\": {}\n",
       "    }\n",
       "};\n",
       "                chart_f0a9c0d159714dadad6d03e59bd03b6b.setOption(option_f0a9c0d159714dadad6d03e59bd03b6b);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58de19460>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c = (\n",
    "    Geo()\n",
    "    .add_schema(maptype=\"china\")\n",
    "    .add(\n",
    "        \"职位需求数量\",\n",
    "        urban,\n",
    "        type_=ChartType.EFFECT_SCATTER,\n",
    "    )\n",
    "    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))\n",
    "        .set_global_opts(\n",
    "        visualmap_opts=opts.VisualMapOpts(\n",
    "        max_=2450,\n",
    "        min_=80,\n",
    "        is_piecewise = True,\n",
    "        split_number = 3,\n",
    "        range_color= ['#869d9d','#a35c8f','#a7535a'],\n",
    "        ), \n",
    "        title_opts=opts.TitleOpts(\n",
    "            title=\"具体城市职位需求数量\"\n",
    "        )\n",
    "    )\n",
    "    \n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "从岗位需求城市热力分布图来看：\n",
    "* 1、数据分析岗位在广东省及东部沿海地区的需求量较大，考虑到城市发达程度促进岗位需求。\n",
    "\n",
    "* 2、从热力图来看，南方地区的需求比北方地区的需求大。\n",
    "\n",
    "从职位需求数量地图来看：\n",
    "* 3、上海和杭州的岗位需求高，且上海、杭州、南京、苏州由于地理位置相近，容易产生集群效应，促进经济发展。\n",
    "\n",
    "* 4、中部长沙城市的需求量较中西部地区的重庆城市低，考虑国家积极发展中部计划等政策倾斜及城市定位有关。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 相关薪资分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 需求最高的5个城市的企业最高工资区间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['广州', '深圳', '上海', '北京', '杭州']"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 职位分布最多的5个城市\n",
    "max_city=urban[0:5]\n",
    "city_name=[]\n",
    "for i in max_city:\n",
    "    city_name.append(i[0])\n",
    "city_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 筛选\n",
    "广州=data[data['城市'].isin(['广州'])]\n",
    "广州最高工资=广州[广州['最高工资']==广州['最高工资'].max()]\n",
    "深圳=data[data['城市'].isin(['深圳'])]\n",
    "深圳最高工资=深圳[深圳['最高工资']==深圳['最高工资'].max()]\n",
    "上海=data[data['城市'].isin(['上海'])]\n",
    "上海最高工资=上海[上海['最高工资']==上海['最高工资'].max()]\n",
    "北京=data[data['城市'].isin(['北京'])]\n",
    "北京最高工资=北京[北京['最高工资']==北京['最高工资'].max()]\n",
    "杭州=data[data['城市'].isin(['杭州'])]\n",
    "杭州最高工资=杭州[杭州['最高工资']==杭州['最高工资'].max()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1216</th>\n",
       "      <td>广州</td>\n",
       "      <td>SeniorDataAnalyst</td>\n",
       "      <td>10年以上经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>TheRoleResponsibilitiesStandardCharteredBankis...</td>\n",
       "      <td>外资（非欧美）</td>\n",
       "      <td>10000人以上</td>\n",
       "      <td>金融</td>\n",
       "      <td>40</td>\n",
       "      <td>70</td>\n",
       "      <td>40-70千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1870</th>\n",
       "      <td>深圳</td>\n",
       "      <td>数据分析工程师（40岁以内）</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>【工作职责】：1、负责技术方案和架构设计，包含技术架构和数据架构；?2、负责大数据平台开发过...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>35</td>\n",
       "      <td>65</td>\n",
       "      <td>35-65千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>171</th>\n",
       "      <td>上海</td>\n",
       "      <td>Asso.BiostatisticsDirector/生物统计副总监</td>\n",
       "      <td>8-9年经验</td>\n",
       "      <td>硕士</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责:1.Participateinclinicalstudydesignandprot...</td>\n",
       "      <td>创业公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>制药</td>\n",
       "      <td>67</td>\n",
       "      <td>83</td>\n",
       "      <td>67-83千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>176</th>\n",
       "      <td>上海</td>\n",
       "      <td>工业大数据与分布式数据融合(J12163)</td>\n",
       "      <td>10年以上经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责:深度研究工业互联网数据管理相关技术，负责树根工业互联网平台的数据管理和数据分析的具...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>42</td>\n",
       "      <td>83</td>\n",
       "      <td>42-83千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3998</th>\n",
       "      <td>北京</td>\n",
       "      <td>CRO国内BD(职位编号：46)</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>硕士</td>\n",
       "      <td>10</td>\n",
       "      <td>岗位职责：1.?负责面向国内生物药企，抗体发现相关企业、科研院校推广公司的产品，完成公司所分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>制药</td>\n",
       "      <td>200</td>\n",
       "      <td>400</td>\n",
       "      <td>200-400千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4089</th>\n",
       "      <td>北京</td>\n",
       "      <td>CRO国内BD(职位编号：46)</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>硕士</td>\n",
       "      <td>10</td>\n",
       "      <td>岗位职责：1.?负责面向国内生物药企，抗体发现相关企业、科研院校推广公司的产品，完成公司所分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>制药</td>\n",
       "      <td>200</td>\n",
       "      <td>400</td>\n",
       "      <td>200-400千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4974</th>\n",
       "      <td>杭州</td>\n",
       "      <td>数据中心总经理（车联网）</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>新增岗位：车联网数据中心负责人找车联网的岗位，研究院下面想成立1个数据中心工作内容：1、与传...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>70</td>\n",
       "      <td>100</td>\n",
       "      <td>70-100千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      城市                                招聘岗位     工作经验  学历 所招人数  \\\n",
       "1216  广州                   SeniorDataAnalyst  10年以上经验  本科    1   \n",
       "1870  深圳                      数据分析工程师（40岁以内）     无需经验  本科   若干   \n",
       "171   上海  Asso.BiostatisticsDirector/生物统计副总监   8-9年经验  硕士   若干   \n",
       "176   上海               工业大数据与分布式数据融合(J12163)  10年以上经验  本科   若干   \n",
       "3998  北京                    CRO国内BD(职位编号：46)   3-4年经验  硕士   10   \n",
       "4089  北京                    CRO国内BD(职位编号：46)   3-4年经验  硕士   10   \n",
       "4974  杭州                        数据中心总经理（车联网）   5-7年经验  本科    1   \n",
       "\n",
       "                                                   职位信息     公司类型        公司规模  \\\n",
       "1216  TheRoleResponsibilitiesStandardCharteredBankis...  外资（非欧美）    10000人以上   \n",
       "1870  【工作职责】：1、负责技术方案和架构设计，包含技术架构和数据架构；?2、负责大数据平台开发过...     民营公司    150-500人   \n",
       "171   工作职责:1.Participateinclinicalstudydesignandprot...     创业公司     50-150人   \n",
       "176   工作职责:深度研究工业互联网数据管理相关技术，负责树根工业互联网平台的数据管理和数据分析的具...     民营公司  1000-5000人   \n",
       "3998  岗位职责：1.?负责面向国内生物药企，抗体发现相关企业、科研院校推广公司的产品，完成公司所分...     民营公司           无   \n",
       "4089  岗位职责：1.?负责面向国内生物药企，抗体发现相关企业、科研院校推广公司的产品，完成公司所分...     民营公司           无   \n",
       "4974  新增岗位：车联网数据中心负责人找车联网的岗位，研究院下面想成立1个数据中心工作内容：1、与传...     民营公司     50-150人   \n",
       "\n",
       "                  所属行业  最低工资  最高工资       工资千/月  \n",
       "1216                金融    40    70    40-70千/月  \n",
       "1870               互联网    35    65    35-65千/月  \n",
       "171                 制药    67    83    67-83千/月  \n",
       "176              计算机软件    42    83    42-83千/月  \n",
       "3998                制药   200   400  200-400千/月  \n",
       "4089                制药   200   400  200-400千/月  \n",
       "4974  专业服务(咨询、人力资源、财会)    70   100   70-100千/月  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "最高工资=广州最高工资.append([深圳最高工资,上海最高工资,北京最高工资,杭州最高工资])\n",
    "最高工资"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1216</th>\n",
       "      <td>广州</td>\n",
       "      <td>SeniorDataAnalyst</td>\n",
       "      <td>10年以上经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>TheRoleResponsibilitiesStandardCharteredBankis...</td>\n",
       "      <td>外资（非欧美）</td>\n",
       "      <td>10000人以上</td>\n",
       "      <td>金融</td>\n",
       "      <td>40</td>\n",
       "      <td>70</td>\n",
       "      <td>40-70千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1870</th>\n",
       "      <td>深圳</td>\n",
       "      <td>数据分析工程师（40岁以内）</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>【工作职责】：1、负责技术方案和架构设计，包含技术架构和数据架构；?2、负责大数据平台开发过...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>35</td>\n",
       "      <td>65</td>\n",
       "      <td>35-65千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>171</th>\n",
       "      <td>上海</td>\n",
       "      <td>Asso.BiostatisticsDirector/生物统计副总监</td>\n",
       "      <td>8-9年经验</td>\n",
       "      <td>硕士</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责:1.Participateinclinicalstudydesignandprot...</td>\n",
       "      <td>创业公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>制药</td>\n",
       "      <td>67</td>\n",
       "      <td>83</td>\n",
       "      <td>67-83千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3998</th>\n",
       "      <td>北京</td>\n",
       "      <td>CRO国内BD(职位编号：46)</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>硕士</td>\n",
       "      <td>10</td>\n",
       "      <td>岗位职责：1.?负责面向国内生物药企，抗体发现相关企业、科研院校推广公司的产品，完成公司所分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>无</td>\n",
       "      <td>制药</td>\n",
       "      <td>200</td>\n",
       "      <td>400</td>\n",
       "      <td>200-400千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4974</th>\n",
       "      <td>杭州</td>\n",
       "      <td>数据中心总经理（车联网）</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>新增岗位：车联网数据中心负责人找车联网的岗位，研究院下面想成立1个数据中心工作内容：1、与传...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>70</td>\n",
       "      <td>100</td>\n",
       "      <td>70-100千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      城市                                招聘岗位     工作经验  学历 所招人数  \\\n",
       "1216  广州                   SeniorDataAnalyst  10年以上经验  本科    1   \n",
       "1870  深圳                      数据分析工程师（40岁以内）     无需经验  本科   若干   \n",
       "171   上海  Asso.BiostatisticsDirector/生物统计副总监   8-9年经验  硕士   若干   \n",
       "3998  北京                    CRO国内BD(职位编号：46)   3-4年经验  硕士   10   \n",
       "4974  杭州                        数据中心总经理（车联网）   5-7年经验  本科    1   \n",
       "\n",
       "                                                   职位信息     公司类型      公司规模  \\\n",
       "1216  TheRoleResponsibilitiesStandardCharteredBankis...  外资（非欧美）  10000人以上   \n",
       "1870  【工作职责】：1、负责技术方案和架构设计，包含技术架构和数据架构；?2、负责大数据平台开发过...     民营公司  150-500人   \n",
       "171   工作职责:1.Participateinclinicalstudydesignandprot...     创业公司   50-150人   \n",
       "3998  岗位职责：1.?负责面向国内生物药企，抗体发现相关企业、科研院校推广公司的产品，完成公司所分...     民营公司         无   \n",
       "4974  新增岗位：车联网数据中心负责人找车联网的岗位，研究院下面想成立1个数据中心工作内容：1、与传...     民营公司   50-150人   \n",
       "\n",
       "                  所属行业  最低工资  最高工资       工资千/月  \n",
       "1216                金融    40    70    40-70千/月  \n",
       "1870               互联网    35    65    35-65千/月  \n",
       "171                 制药    67    83    67-83千/月  \n",
       "3998                制药   200   400  200-400千/月  \n",
       "4974  专业服务(咨询、人力资源、财会)    70   100   70-100千/月  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "最高工资=广州最高工资.append([深圳最高工资,上海最高工资,北京最高工资,杭州最高工资])\n",
    "城市最高工资=最高工资.drop_duplicates(subset='最高工资')\n",
    "城市最高工资"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"db1bbd4e-0a2c-47f1-a0c7-c3d16238e99f\" data-root-id=\"1004\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"adf3bbcc-66bb-4d95-9b7c-252ad25ee4f4\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1014\"}],\"center\":[{\"id\":\"1016\"},{\"id\":\"1020\"}],\"left\":[{\"id\":\"1017\"}],\"plot_height\":350,\"renderers\":[{\"id\":\"1041\"}],\"title\":{\"id\":\"1005\"},\"toolbar\":{\"id\":\"1029\"},\"x_range\":{\"id\":\"1003\"},\"x_scale\":{\"id\":\"1010\"},\"y_range\":{\"id\":\"1008\"},\"y_scale\":{\"id\":\"1012\"}},\"id\":\"1004\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data_source\":{\"id\":\"1002\"},\"glyph\":{\"id\":\"1039\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1040\"},\"selection_glyph\":null,\"view\":{\"id\":\"1042\"}},\"id\":\"1041\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"formatter\":{\"id\":\"1046\"},\"major_label_orientation\":1,\"ticker\":{\"id\":\"1015\"}},\"id\":\"1014\",\"type\":\"CategoricalAxis\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1018\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1014\"},\"ticker\":null},\"id\":\"1016\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1049\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"field\":\"x_axis\",\"transform\":{\"id\":\"1037\"}},\"line_color\":{\"value\":\"#1f77b4\"},\"top\":{\"field\":\"y_counts\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x_axis\"}},\"id\":\"1039\",\"type\":\"VBar\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"wage\",\"@y_counts\"],[\"\\u5730\\u70b9\",\"@x_axis\"]]},\"id\":\"1028\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"x_axis\",\"transform\":{\"id\":\"1037\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"top\":{\"field\":\"y_counts\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x_axis\"}},\"id\":\"1040\",\"type\":\"VBar\"},{\"attributes\":{\"start\":0},\"id\":\"1008\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1015\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1026\"},{\"id\":\"1028\"}]},\"id\":\"1029\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{\"formatter\":{\"id\":\"1044\"},\"ticker\":{\"id\":\"1018\"}},\"id\":\"1017\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"data\":{\"x_axis\":[[\"\\u5e7f\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5e7f\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"]],\"y_counts\":[70,40,65,35,83,67,400,200,100,70]},\"selected\":{\"id\":\"1049\"},\"selection_policy\":{\"id\":\"1048\"}},\"id\":\"1002\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"end\":2,\"factors\":[\"\\u6700\\u9ad8\\u5de5\\u8d44\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],\"palette\":[\"#99d594\",\"#ffffbf\",\"#fc8d59\"],\"start\":1},\"id\":\"1037\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"text\":\"\\u9700\\u6c42\\u6700\\u9ad8\\u76845\\u4e2a\\u57ce\\u5e02\\u4f01\\u4e1a\\u6700\\u9ad8\\u5de5\\u8d44\\u5dee\\u5f02\"},\"id\":\"1005\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{\"factors\":[[\"\\u5e7f\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5e7f\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"]],\"range_padding\":0.1},\"id\":\"1003\",\"type\":\"FactorRange\"},{\"attributes\":{\"source\":{\"id\":\"1002\"}},\"id\":\"1042\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1027\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1027\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis\":{\"id\":\"1017\"},\"dimension\":1,\"ticker\":null},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1012\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"}],\"root_ids\":[\"1004\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"adf3bbcc-66bb-4d95-9b7c-252ad25ee4f4\",\"root_ids\":[\"1004\"],\"roots\":{\"1004\":\"db1bbd4e-0a2c-47f1-a0c7-c3d16238e99f\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1004"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 准备x轴数据\n",
    "工资=['最高工资','最低工资']\n",
    "x = [(city,wages) for city in city_name for wages in 工资]\n",
    "# 准备y轴数据\n",
    "y = sum(zip(城市最高工资['最高工资'],城市最高工资['最低工资']), ())\n",
    "# 准备ColumnDataSource\n",
    "source = ColumnDataSource(\n",
    "    data=dict(\n",
    "        x_axis=x, \n",
    "        y_counts=y,\n",
    "    )\n",
    ")\n",
    "# 准备tooltips 鼠标移入显示数据\n",
    "TOOLTIPS=[\n",
    "    (\"wage\",\"@y_counts\"),\n",
    "    (\"地点\",\"@x_axis\")]\n",
    "color = Spectral3\n",
    "# 画布\n",
    "p = figure(\n",
    "    x_range=FactorRange(*x),\n",
    "    plot_height=350,\n",
    "    title=\"需求最高的5个城市企业最高工资差异\",\n",
    "    tooltips=TOOLTIPS\n",
    ")\n",
    "# 绘制图形 vbar 垂直柱状图\n",
    "p.vbar(\n",
    "    x='x_axis',\n",
    "    top=\"y_counts\",\n",
    "    width=0.8,\n",
    "    source=source,\n",
    "    fill_color=factor_cmap('x_axis', \n",
    "                           palette=color, \n",
    "                           factors=工资, \n",
    "                           start=1, end=2)\n",
    ")\n",
    "# factor_cmap 模块 每一类相同颜色，共三种颜色\n",
    "p.y_range.start = 0\n",
    "p.x_range.range_padding = 0.1\n",
    "p.xaxis.major_label_orientation = 1\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "* 1、从分组柱状图来看，北京的最高工资区间远大于其它城市，薪资排行第一，考虑与城市经济发达、拥有工业基础、工业发展较完整等相关原因。\n",
    "\n",
    "* 2、需求前5的城市中，深圳市的工资上限相较于其它城市是最低的，只有65千/月，工资下限也是最低的，考虑深圳流动人口较多，资源分配不均等原因。\n",
    "\n",
    "* 3、相较于广州、深圳、上海等老牌城市，杭州的工资上限较高，也是互联网行业的新兴城市，可以考虑在杭州进行发展。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 需求最高的5个城市的企业最低工资对比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "广州=data[data['城市'].isin(['广州'])]\n",
    "广州最低工资=广州[广州['最低工资']==广州['最低工资'].min()]\n",
    "深圳=data[data['城市'].isin(['深圳'])]\n",
    "深圳最低工资=深圳[深圳['最低工资']==深圳['最低工资'].min()]\n",
    "\n",
    "上海=data[data['城市'].isin(['上海'])]\n",
    "上海最低工资=上海[上海['最低工资']==上海['最低工资'].min()]\n",
    "\n",
    "北京=data[data['城市'].isin(['北京'])]\n",
    "北京最低工资=北京[北京['最低工资']==北京['最低工资'].min()]\n",
    "\n",
    "杭州=data[data['城市'].isin(['杭州'])]\n",
    "杭州最低工资=杭州[杭州['最低工资']==杭州['最低工资'].min()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>9028</th>\n",
       "      <td>广州</td>\n",
       "      <td>报表工程师实习生</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位：工程师实习生职位描述1、负责项目中的报表开发工作；2、针对确定需求，开展负责PC端、移...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>制药</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2-3千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9446</th>\n",
       "      <td>深圳</td>\n",
       "      <td>虾皮运营/lazada运营</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>岗位职责:1、负责Shopee/Lazada平台账号的维护和运营制定对应的运营规划和方案，确...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>家居</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>3-4.5千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9499</th>\n",
       "      <td>深圳</td>\n",
       "      <td>营销管理培训生（包吃）</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>2</td>\n",
       "      <td>岗位职责：????1、全面学习门店的运营知识，保证门店运营工作顺利开展；??2、轮岗学习门店...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>批发</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>3.5-5千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9628</th>\n",
       "      <td>上海</td>\n",
       "      <td>数据规划</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、能设计表结构，制定数据校验规则和录入规则；2、能进行需求分析，跟踪业务变化，及时调整库表...</td>\n",
       "      <td>创业公司</td>\n",
       "      <td>少于50人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1.5-2千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9635</th>\n",
       "      <td>上海</td>\n",
       "      <td>CE-BusinessAnalyticsManager-Shanghai</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>JOBPURPOSE:BeakeyelementofSanofiChina’sInsight...</td>\n",
       "      <td>外资（欧美）</td>\n",
       "      <td>5000-10000人</td>\n",
       "      <td>制药</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1-1千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9650</th>\n",
       "      <td>上海</td>\n",
       "      <td>数据治理工程师</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>大专</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.负责相关项目的数据治理的实施工作；2.数据治理相关工作的方法研究和优化；3.支...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1.5-2千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9690</th>\n",
       "      <td>北京</td>\n",
       "      <td>数据运维分析工程师的</td>\n",
       "      <td>无需经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>2</td>\n",
       "      <td>主要职责：支撑城市国土空间大数据分析，包括人地房、交通及环境等领域的空间数据处理、挖掘、分析...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1.5-2千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9705</th>\n",
       "      <td>北京</td>\n",
       "      <td>业务推动岗</td>\n",
       "      <td>2年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>工作职责：1、根据营销节奏，拟定业务推动方案，并进行方案的宣导及解释工作，确保业务团队充分理...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>1000-5000人</td>\n",
       "      <td>金融</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1.5-2千/月</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10028</th>\n",
       "      <td>杭州</td>\n",
       "      <td>运营专业经理</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、在集团物业运营管理制度的基础上，组织起草、制定地区公司服务标准，并负责推广应用2、编制并...</td>\n",
       "      <td>合资</td>\n",
       "      <td>10000人以上</td>\n",
       "      <td>教育</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1.5-2千/月</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       城市                                  招聘岗位    工作经验  学历 所招人数  \\\n",
       "9028   广州                              报表工程师实习生    无需经验  本科    1   \n",
       "9446   深圳                         虾皮运营/lazada运营    1年经验  大专    2   \n",
       "9499   深圳                           营销管理培训生（包吃）    无需经验  大专    2   \n",
       "9628   上海                                  数据规划  3-4年经验  本科    1   \n",
       "9635   上海  CE-BusinessAnalyticsManager-Shanghai  5-7年经验  本科    1   \n",
       "9650   上海                               数据治理工程师    2年经验  大专    1   \n",
       "9690   北京                            数据运维分析工程师的    无需经验  本科    2   \n",
       "9705   北京                                 业务推动岗    2年经验  本科    1   \n",
       "10028  杭州                                运营专业经理  5-7年经验  本科    1   \n",
       "\n",
       "                                                    职位信息    公司类型         公司规模  \\\n",
       "9028   岗位：工程师实习生职位描述1、负责项目中的报表开发工作；2、针对确定需求，开展负责PC端、移...    民营公司     150-500人   \n",
       "9446   岗位职责:1、负责Shopee/Lazada平台账号的维护和运营制定对应的运营规划和方案，确...    民营公司        少于50人   \n",
       "9499   岗位职责：????1、全面学习门店的运营知识，保证门店运营工作顺利开展；??2、轮岗学习门店...    民营公司     150-500人   \n",
       "9628   1、能设计表结构，制定数据校验规则和录入规则；2、能进行需求分析，跟踪业务变化，及时调整库表...    创业公司        少于50人   \n",
       "9635   JOBPURPOSE:BeakeyelementofSanofiChina’sInsight...  外资（欧美）  5000-10000人   \n",
       "9650   岗位职责：1.负责相关项目的数据治理的实施工作；2.数据治理相关工作的方法研究和优化；3.支...    民营公司     150-500人   \n",
       "9690   主要职责：支撑城市国土空间大数据分析，包括人地房、交通及环境等领域的空间数据处理、挖掘、分析...    民营公司      50-150人   \n",
       "9705   工作职责：1、根据营销节奏，拟定业务推动方案，并进行方案的宣导及解释工作，确保业务团队充分理...    民营公司   1000-5000人   \n",
       "10028  1、在集团物业运营管理制度的基础上，组织起草、制定地区公司服务标准，并负责推广应用2、编制并...      合资     10000人以上   \n",
       "\n",
       "        所属行业  最低工资  最高工资     工资千/月  \n",
       "9028      制药     2     3    2-3千/月  \n",
       "9446      家居     3     4  3-4.5千/月  \n",
       "9499      批发     3     5  3.5-5千/月  \n",
       "9628     互联网     1     2  1.5-2千/月  \n",
       "9635      制药     1     1    1-1千/月  \n",
       "9650   计算机软件     1     2  1.5-2千/月  \n",
       "9690   计算机软件     1     2  1.5-2千/月  \n",
       "9705      金融     1     2  1.5-2千/月  \n",
       "10028     教育     1     2  1.5-2千/月  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "最低工资=广州最低工资.append([深圳最低工资,上海最低工资,北京最低工资,杭州最低工资])\n",
    "最低工资"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "城市最低工资=最低工资.sort_values(\"最低工资\", ascending=False).drop_duplicates(\"城市\", keep='first').reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"83fd6eb0-011b-429a-929b-a6737375b177\" data-root-id=\"1101\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"840f0639-2392-4003-8bb7-fe49b8f3fe67\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1111\"}],\"center\":[{\"id\":\"1113\"},{\"id\":\"1117\"}],\"left\":[{\"id\":\"1114\"}],\"plot_height\":350,\"renderers\":[{\"id\":\"1138\"}],\"title\":{\"id\":\"1102\"},\"toolbar\":{\"id\":\"1126\"},\"x_range\":{\"id\":\"1100\"},\"x_scale\":{\"id\":\"1107\"},\"y_range\":{\"id\":\"1105\"},\"y_scale\":{\"id\":\"1109\"}},\"id\":\"1101\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1109\",\"type\":\"LinearScale\"},{\"attributes\":{\"factors\":[[\"\\u5e7f\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5e7f\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"]],\"range_padding\":0.1},\"id\":\"1100\",\"type\":\"FactorRange\"},{\"attributes\":{},\"id\":\"1154\",\"type\":\"Selection\"},{\"attributes\":{\"text\":\"\\u9700\\u6c42\\u6700\\u9ad8\\u76845\\u4e2a\\u57ce\\u5e02\\u4f01\\u4e1a\\u6700\\u4f4e\\u5de5\\u8d44\\u533a\\u95f4\\u5dee\\u5f02\"},\"id\":\"1102\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1149\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"x_axis\",\"transform\":{\"id\":\"1134\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"top\":{\"field\":\"y_counts\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x_axis\"}},\"id\":\"1137\",\"type\":\"VBar\"},{\"attributes\":{\"source\":{\"id\":\"1099\"}},\"id\":\"1139\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1118\"},{\"id\":\"1119\"},{\"id\":\"1120\"},{\"id\":\"1121\"},{\"id\":\"1122\"},{\"id\":\"1123\"},{\"id\":\"1125\"}]},\"id\":\"1126\",\"type\":\"Toolbar\"},{\"attributes\":{\"end\":2,\"factors\":[\"\\u6700\\u9ad8\\u5de5\\u8d44\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],\"palette\":[\"#99d594\",\"#ffffbf\",\"#fc8d59\"],\"start\":1},\"id\":\"1134\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"data_source\":{\"id\":\"1099\"},\"glyph\":{\"id\":\"1136\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1137\"},\"selection_glyph\":null,\"view\":{\"id\":\"1139\"}},\"id\":\"1138\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"overlay\":{\"id\":\"1124\"}},\"id\":\"1120\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"wage\",\"@y_counts\"],[\"\\u5730\\u70b9\",\"@x_axis\"]]},\"id\":\"1125\",\"type\":\"HoverTool\"},{\"attributes\":{\"fill_color\":{\"field\":\"x_axis\",\"transform\":{\"id\":\"1134\"}},\"line_color\":{\"value\":\"#1f77b4\"},\"top\":{\"field\":\"y_counts\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x_axis\"}},\"id\":\"1136\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"ResetTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1124\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1112\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"1115\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1111\"},\"ticker\":null},\"id\":\"1113\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"1149\"},\"ticker\":{\"id\":\"1115\"}},\"id\":\"1114\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1121\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1153\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"formatter\":{\"id\":\"1151\"},\"major_label_orientation\":1,\"ticker\":{\"id\":\"1112\"}},\"id\":\"1111\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1114\"},\"dimension\":1,\"ticker\":null},\"id\":\"1117\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"x_axis\":[[\"\\u5e7f\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5e7f\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u6df1\\u5733\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u4e0a\\u6d77\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u5317\\u4eac\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u9ad8\\u5de5\\u8d44\"],[\"\\u676d\\u5dde\",\"\\u6700\\u4f4e\\u5de5\\u8d44\"]],\"y_counts\":[4,3,3,2,2,1,2,1,2,1]},\"selected\":{\"id\":\"1154\"},\"selection_policy\":{\"id\":\"1153\"}},\"id\":\"1099\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1118\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1107\",\"type\":\"CategoricalScale\"},{\"attributes\":{},\"id\":\"1123\",\"type\":\"HelpTool\"},{\"attributes\":{\"start\":0},\"id\":\"1105\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1151\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"1119\",\"type\":\"WheelZoomTool\"}],\"root_ids\":[\"1101\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"840f0639-2392-4003-8bb7-fe49b8f3fe67\",\"root_ids\":[\"1101\"],\"roots\":{\"1101\":\"83fd6eb0-011b-429a-929b-a6737375b177\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1101"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    " # 准备x轴数据\n",
    "工资=['最高工资','最低工资']\n",
    "x = [(city,wages_min) for city in city_name for wages_min in 工资]\n",
    "# 准备y轴数据\n",
    "y = sum(zip(城市最低工资['最高工资'],城市最低工资['最低工资']), ())\n",
    "# 准备ColumnDataSource\n",
    "source = ColumnDataSource(\n",
    "    data=dict(\n",
    "        x_axis=x, \n",
    "        y_counts=y,\n",
    "    )\n",
    ")\n",
    "# 准备tooltips 鼠标移入显示数据\n",
    "TOOLTIPS=[\n",
    "    (\"wage\",\"@y_counts\"),\n",
    "    (\"地点\",\"@x_axis\")]\n",
    "\n",
    "color = Spectral3\n",
    "# 画布\n",
    "p = figure(\n",
    "    x_range=FactorRange(*x),\n",
    "    plot_height=350,\n",
    "    title=\"需求最高的5个城市企业最低工资区间差异\",\n",
    "    tooltips=TOOLTIPS\n",
    ")\n",
    "# 绘制图形 vbar 垂直柱状图\n",
    "p.vbar(\n",
    "    x='x_axis',\n",
    "    top=\"y_counts\",\n",
    "    width=0.8,\n",
    "    source=source,\n",
    "    fill_color=factor_cmap('x_axis', \n",
    "                           palette=color, \n",
    "                           factors=工资, \n",
    "                           start=1, end=2)\n",
    ")\n",
    "# factor_cmap 模块 每一类相同颜色，共三种颜色\n",
    "p.y_range.start = 0\n",
    "p.x_range.range_padding = 0.1\n",
    "p.xaxis.major_label_orientation = 1\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "* 1、从分组柱状图来看，五大城市数据分析岗位的最低工资区间在1-2千/月。\n",
    "\n",
    "* 2、广州是五大城市中最低工资区间最高的城市，可以达到3-4千/月，如果想要从基础岗位锻炼，广州是个很好的选择。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 展示全部城市平均工资对比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>城市</th>\n",
       "      <th>招聘岗位</th>\n",
       "      <th>工作经验</th>\n",
       "      <th>学历</th>\n",
       "      <th>所招人数</th>\n",
       "      <th>职位信息</th>\n",
       "      <th>公司类型</th>\n",
       "      <th>公司规模</th>\n",
       "      <th>所属行业</th>\n",
       "      <th>最低工资</th>\n",
       "      <th>最高工资</th>\n",
       "      <th>工资千/月</th>\n",
       "      <th>平均工资</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪14万店铺销售数据分析</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "      <td>10.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析研究员（电商）</td>\n",
       "      <td>3-4年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>计算机软件</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>17-25千/月</td>\n",
       "      <td>21.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>广州</td>\n",
       "      <td>数据分析经理（部门负责人）</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...</td>\n",
       "      <td>上市公司</td>\n",
       "      <td>50-150人</td>\n",
       "      <td>建筑</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>12-17千/月</td>\n",
       "      <td>14.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>广州</td>\n",
       "      <td>年薪13万店铺业务数据分析</td>\n",
       "      <td>1年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>若干</td>\n",
       "      <td>工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>150-500人</td>\n",
       "      <td>互联网</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>8-12千/月</td>\n",
       "      <td>10.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>广州</td>\n",
       "      <td>高级数据分析师</td>\n",
       "      <td>5-7年经验</td>\n",
       "      <td>本科</td>\n",
       "      <td>1</td>\n",
       "      <td>岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...</td>\n",
       "      <td>国企</td>\n",
       "      <td>500-1000人</td>\n",
       "      <td>专业服务(咨询、人力资源、财会)</td>\n",
       "      <td>17</td>\n",
       "      <td>33</td>\n",
       "      <td>17-33千/月</td>\n",
       "      <td>25.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   城市           招聘岗位    工作经验  学历 所招人数  \\\n",
       "0  广州  年薪14万店铺销售数据分析    1年经验  本科   若干   \n",
       "1  广州    数据分析研究员（电商）  3-4年经验  本科    1   \n",
       "2  广州  数据分析经理（部门负责人）  5-7年经验  本科    1   \n",
       "3  广州  年薪13万店铺业务数据分析    1年经验  本科   若干   \n",
       "4  广州        高级数据分析师  5-7年经验  本科    1   \n",
       "\n",
       "                                                职位信息  公司类型       公司规模  \\\n",
       "0  工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司  500-1000人   \n",
       "1  岗位职责：1.根据公司政策、品类及业务发展趋势，从行业、产品、用户纬度对电商业务进行研究及分...  民营公司   150-500人   \n",
       "2  1、基于对业务场景理解，建立数据分析模型和专题报告，并能对业务产生明显的影响效果。2、深入研...  上市公司    50-150人   \n",
       "3  工作职责：1、门店运营及活动数据汇总分析，制作数据报表，做好预警监控2、负责每月管理层、分公...  民营公司   150-500人   \n",
       "4  岗位职责:1.?建立和完善业务数字化数据体系，如数据收集、数据模型、数据关键指标、数据标签体...    国企  500-1000人   \n",
       "\n",
       "               所属行业  最低工资  最高工资     工资千/月  平均工资  \n",
       "0               互联网     8    12   8-12千/月  10.0  \n",
       "1             计算机软件    17    25  17-25千/月  21.0  \n",
       "2                建筑    12    17  12-17千/月  14.5  \n",
       "3               互联网     8    12   8-12千/月  10.0  \n",
       "4  专业服务(咨询、人力资源、财会)    17    33  17-33千/月  25.0  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 计算平均工资\n",
    "data['平均工资'] = (data['最高工资']+data['最低工资'])/2\n",
    "data.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"bdc58477e4704fe49699ec865211f244\" style=\"width:1000px; height:600px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_bdc58477e4704fe49699ec865211f244 = echarts.init(\n",
       "                    document.getElementById('bdc58477e4704fe49699ec865211f244'), 'white', {renderer: 'canvas'});\n",
       "                var option_bdc58477e4704fe49699ec865211f244 = {\n",
       "    \"backgroundColor\": new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                            offset: 0,                            color: '#ede3e7'                        }, {                            offset: 1,                            color: '#e6d2d5'                        }], false),\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#ad6598\",\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"data\": [\n",
       "                16.2,\n",
       "                16.1,\n",
       "                12.9,\n",
       "                12.8,\n",
       "                11.9,\n",
       "                11.8,\n",
       "                11.2,\n",
       "                10.8,\n",
       "                10.7,\n",
       "                10.6\n",
       "            ],\n",
       "            \"barCategoryGap\": \"50%\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"barBorderRadius\": [\n",
       "                        30,\n",
       "                        30,\n",
       "                        30,\n",
       "                        30\n",
       "                    ]\n",
       "                }\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u5317\\u4eac\",\n",
       "                \"\\u4e0a\\u6d77\",\n",
       "                \"\\u676d\\u5dde\",\n",
       "                \"\\u6df1\\u5733\",\n",
       "                \"\\u5357\\u4eac\",\n",
       "                \"\\u82cf\\u5dde\",\n",
       "                \"\\u5e7f\\u5dde\",\n",
       "                \"\\u957f\\u6c99\",\n",
       "                \"\\u53a6\\u95e8\",\n",
       "                \"\\u5929\\u6d25\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u6240\\u6709\\u57ce\\u5e02\\u6570\\u636e\\u5206\\u6790\\u5c97\\u4f4d\\u5e73\\u5747\\u85aa\\u8d44\\uff08\\u5343/\\u6708\\uff09\",\n",
       "            \"left\": \"center\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 20\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_bdc58477e4704fe49699ec865211f244.setOption(option_bdc58477e4704fe49699ec865211f244);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f3f3c95e50>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "color_js1 = \"\"\"new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n",
    "                            offset: 0,\n",
    "                            color: '#ede3e7'\n",
    "                        }, {\n",
    "                            offset: 1,\n",
    "                            color: '#e6d2d5'\n",
    "                        }], false)\"\"\"\n",
    "\n",
    "salary_average = data.groupby('城市')['平均工资'].mean().to_frame('平均工资').reset_index()\n",
    "salary_average['平均工资']=salary_average['平均工资'].round(decimals=1)\n",
    "salary_average  = salary_average.sort_values('平均工资',ascending=False)[:10]\n",
    "\n",
    "x_data = salary_average['城市'].values.tolist()\n",
    "y_data = salary_average['平均工资'].values.tolist()\n",
    "\n",
    "b2 = (\n",
    "        Bar(\n",
    "            init_opts=opts.InitOpts(\n",
    "#                 theme=ThemeType.DARK,\n",
    "                bg_color=JsCode(color_js1),\n",
    "                width='1000px',\n",
    "                height='600px'))\n",
    "        .add_xaxis(x_data)\n",
    "        .add_yaxis('',\n",
    "                   y_data ,\n",
    "                   category_gap=\"50%\",\n",
    "                   color='#ad6598'\n",
    "                  )\n",
    "            .set_series_opts(\n",
    "          itemstyle_opts={\n",
    "                \"normal\": {\n",
    "                    \"barBorderRadius\": [30, 30, 30, 30],\n",
    "                }\n",
    "            },)\n",
    "        .set_global_opts(title_opts=opts.TitleOpts(title=\"所有城市数据分析岗位平均薪资（千/月）\",\n",
    "                                                  pos_left=\"center\",\n",
    "                                                  title_textstyle_opts=opts.TextStyleOpts(font_size=20)),\n",
    "\n",
    "                        ))\n",
    "    \n",
    "b2.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "* 1、从城市平均工资柱状图来看，数据分析岗位的平均工资普遍在10k以上，其中北京数据分析岗位的平均工资最高，上海其次，而天津的平均工资是最低的。\n",
    "\n",
    "* 2、杭州的岗位平均薪资达到12.9k,超过深圳，发展潜力巨大。\n",
    "\n",
    "* 3、虽然广州是数据分析岗位需求最多的城市，但广州的平均岗位薪资属于中下位水平，平均薪资相较于其它城市并不高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 公司类型"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 公司类型数量占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"01c604f711ca4612987e9520e33b0946\" style=\"width:800px; height:600px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_01c604f711ca4612987e9520e33b0946 = echarts.init(\n",
       "                    document.getElementById('01c604f711ca4612987e9520e33b0946'), 'white', {renderer: 'canvas'});\n",
       "                var option_01c604f711ca4612987e9520e33b0946 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"pie\",\n",
       "            \"name\": \"\\u516c\\u53f8\\u7c7b\\u578b\",\n",
       "            \"clockwise\": true,\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u6c11\\u8425\\u516c\\u53f8\",\n",
       "                    \"value\": 8207\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u5e02\\u516c\\u53f8\",\n",
       "                    \"value\": 1037\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56fd\\u4f01\",\n",
       "                    \"value\": 793\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5916\\u8d44\\uff08\\u975e\\u6b27\\u7f8e\\uff09\",\n",
       "                    \"value\": 720\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e8b\\u4e1a\\u5355\\u4f4d\",\n",
       "                    \"value\": 650\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5916\\u8d44\\uff08\\u6b27\\u7f8e\\uff09\",\n",
       "                    \"value\": 566\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5408\\u8d44\",\n",
       "                    \"value\": 129\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65e0\",\n",
       "                    \"value\": 77\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u521b\\u4e1a\\u516c\\u53f8\",\n",
       "                    \"value\": 33\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u975e\\u8425\\u5229\\u7ec4\\u7ec7\",\n",
       "                    \"value\": 10\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5916\\u4f01\\u4ee3\\u8868\\u5904\",\n",
       "                    \"value\": 7\n",
       "                }\n",
       "            ],\n",
       "            \"radius\": [\n",
       "                \"50%\",\n",
       "                \"70%\"\n",
       "            ],\n",
       "            \"center\": [\n",
       "                \"50%\",\n",
       "                \"50%\"\n",
       "            ],\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"tooltip\": {\n",
       "                \"show\": true,\n",
       "                \"trigger\": \"item\",\n",
       "                \"triggerOn\": \"mousemove|click\",\n",
       "                \"axisPointer\": {\n",
       "                    \"type\": \"line\"\n",
       "                },\n",
       "                \"formatter\": \"{a} <br/>{b}: {c} ({d}%)\",\n",
       "                \"textStyle\": {\n",
       "                    \"fontSize\": 14\n",
       "                },\n",
       "                \"borderWidth\": 0\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u6c11\\u8425\\u516c\\u53f8\",\n",
       "                \"\\u4e0a\\u5e02\\u516c\\u53f8\",\n",
       "                \"\\u56fd\\u4f01\",\n",
       "                \"\\u5916\\u8d44\\uff08\\u975e\\u6b27\\u7f8e\\uff09\",\n",
       "                \"\\u4e8b\\u4e1a\\u5355\\u4f4d\",\n",
       "                \"\\u5916\\u8d44\\uff08\\u6b27\\u7f8e\\uff09\",\n",
       "                \"\\u5408\\u8d44\",\n",
       "                \"\\u65e0\",\n",
       "                \"\\u521b\\u4e1a\\u516c\\u53f8\",\n",
       "                \"\\u975e\\u8425\\u5229\\u7ec4\\u7ec7\",\n",
       "                \"\\u5916\\u4f01\\u4ee3\\u8868\\u5904\"\n",
       "            ],\n",
       "            \"selected\": {},\n",
       "            \"show\": true,\n",
       "            \"left\": \"legft\",\n",
       "            \"orient\": \"vertical\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_01c604f711ca4612987e9520e33b0946.setOption(option_01c604f711ca4612987e9520e33b0946);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58e5ca8b0>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "leixing=list(data['公司类型'].unique())\n",
    "leixing_count=list(data['公司类型'].value_counts())\n",
    "\n",
    "c=(\n",
    "    Pie(init_opts=opts.InitOpts(width=\"800px\", height=\"600px\"))\n",
    "    .add(\n",
    "        series_name=\"公司类型\",\n",
    "        data_pair=[list(z) for z in zip(leixing,leixing_count)],\n",
    "        radius=[\"50%\", \"70%\"],\n",
    "        label_opts=opts.LabelOpts(is_show=True,),\n",
    "    )\n",
    "    .set_global_opts(legend_opts=opts.LegendOpts(pos_left=\"legft\", orient=\"vertical\"))\n",
    "    .set_series_opts(\n",
    "        tooltip_opts=opts.TooltipOpts(\n",
    "            trigger=\"item\", formatter=\"{a} <br/>{b}: {c} ({d}%)\"\n",
    "        ),\n",
    "    )\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "\n",
    "* 1、从环形图可以看出，数据分析岗位需求最高的是民营公司，占比67%，超过一半，考虑本来民营公司在整个市场的数量较多。\n",
    "\n",
    "* 2、上市公司和国企的岗位需求也比较多，除了民营公司外，可以考虑往上市公司及国企发展。\n",
    "\n",
    "* 3、外资企业的岗位需求也比较旺盛，其中非欧美的外资公司岗位需求比欧美类型外资公司的需求要高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 学历类型占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"d8622df165204f0bad9dd1cf60233ec1\" style=\"width:800px; height:600px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_d8622df165204f0bad9dd1cf60233ec1 = echarts.init(\n",
       "                    document.getElementById('d8622df165204f0bad9dd1cf60233ec1'), 'white', {renderer: 'canvas'});\n",
       "                var option_d8622df165204f0bad9dd1cf60233ec1 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"pie\",\n",
       "            \"name\": \"\\u5b66\\u5386\\u8981\\u6c42\",\n",
       "            \"clockwise\": true,\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u672c\\u79d1\",\n",
       "                    \"value\": 5929\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7855\\u58eb\",\n",
       "                    \"value\": 5116\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u535a\\u58eb\",\n",
       "                    \"value\": 619\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5927\\u4e13\",\n",
       "                    \"value\": 187\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ad8\\u4e2d\",\n",
       "                    \"value\": 173\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0d\\u9650\",\n",
       "                    \"value\": 143\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u4e13\",\n",
       "                    \"value\": 62\n",
       "                }\n",
       "            ],\n",
       "            \"radius\": [\n",
       "                \"50%\",\n",
       "                \"70%\"\n",
       "            ],\n",
       "            \"center\": [\n",
       "                \"50%\",\n",
       "                \"50%\"\n",
       "            ],\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"tooltip\": {\n",
       "                \"show\": true,\n",
       "                \"trigger\": \"item\",\n",
       "                \"triggerOn\": \"mousemove|click\",\n",
       "                \"axisPointer\": {\n",
       "                    \"type\": \"line\"\n",
       "                },\n",
       "                \"formatter\": \"{a} <br/>{b}: {c} ({d}%)\",\n",
       "                \"textStyle\": {\n",
       "                    \"fontSize\": 14\n",
       "                },\n",
       "                \"borderWidth\": 0\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u672c\\u79d1\",\n",
       "                \"\\u7855\\u58eb\",\n",
       "                \"\\u535a\\u58eb\",\n",
       "                \"\\u5927\\u4e13\",\n",
       "                \"\\u9ad8\\u4e2d\",\n",
       "                \"\\u4e0d\\u9650\",\n",
       "                \"\\u4e2d\\u4e13\"\n",
       "            ],\n",
       "            \"selected\": {},\n",
       "            \"show\": true,\n",
       "            \"left\": \"legft\",\n",
       "            \"orient\": \"vertical\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_d8622df165204f0bad9dd1cf60233ec1.setOption(option_d8622df165204f0bad9dd1cf60233ec1);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58c0ced00>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xueli=list(data['学历'].unique())\n",
    "xueli_count=list(data['学历'].value_counts())\n",
    "\n",
    "c=(\n",
    "    Pie(init_opts=opts.InitOpts(width=\"800px\", height=\"600px\"))\n",
    "    .add(\n",
    "        series_name=\"学历要求\",\n",
    "        data_pair=[list(z) for z in zip(xueli,xueli_count)],\n",
    "        radius=[\"50%\", \"70%\"],\n",
    "        label_opts=opts.LabelOpts(is_show=True,),\n",
    "    )\n",
    "    .set_global_opts(legend_opts=opts.LegendOpts(pos_left=\"legft\", orient=\"vertical\"))\n",
    "    .set_series_opts(\n",
    "        tooltip_opts=opts.TooltipOpts(\n",
    "            trigger=\"item\", formatter=\"{a} <br/>{b}: {c} ({d}%)\"\n",
    "        ),\n",
    "        # label_opts=opts.LabelOpts(formatter=\"{b}: {c}\")\n",
    "    )\n",
    "#     .render(\"doughnut_chart.html\")\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "* 1、从环形图可以看出，岗位学历要求普遍在本科和硕士，其次是博士学历，数据分析岗位还是对学历有要求的。\n",
    "* 2、大专以下学历占比不到5%，可见大专以下学历想要进入公司从事数据分析岗位难度较大。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 学历的平均薪资"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"073f4050a55b45a99a61375ec90bd83a\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_073f4050a55b45a99a61375ec90bd83a = echarts.init(\n",
       "                    document.getElementById('073f4050a55b45a99a61375ec90bd83a'), 'white', {renderer: 'canvas'});\n",
       "                var option_073f4050a55b45a99a61375ec90bd83a = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"line\",\n",
       "            \"connectNulls\": false,\n",
       "            \"symbol\": \"emptyCircle\",\n",
       "            \"symbolSize\": 4,\n",
       "            \"showSymbol\": true,\n",
       "            \"smooth\": false,\n",
       "            \"step\": false,\n",
       "            \"data\": [\n",
       "                [\n",
       "                    \"\\u535a\\u58eb\",\n",
       "                    30.0\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u7855\\u58eb\",\n",
       "                    21.4\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u672c\\u79d1\",\n",
       "                    14.1\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u4e0d\\u9650\",\n",
       "                    10.8\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u5927\\u4e13\",\n",
       "                    9.6\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u9ad8\\u4e2d\",\n",
       "                    8.6\n",
       "                ],\n",
       "                [\n",
       "                    \"\\u4e2d\\u4e13\",\n",
       "                    7.7\n",
       "                ]\n",
       "            ],\n",
       "            \"hoverAnimation\": true,\n",
       "            \"label\": {\n",
       "                \"show\": false,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"lineStyle\": {\n",
       "                \"show\": true,\n",
       "                \"width\": 1,\n",
       "                \"opacity\": 1,\n",
       "                \"curveness\": 0,\n",
       "                \"type\": \"solid\"\n",
       "            },\n",
       "            \"areaStyle\": {\n",
       "                \"opacity\": 1,\n",
       "                \"color\": \"#f1939c\"\n",
       "            },\n",
       "            \"zlevel\": 0,\n",
       "            \"z\": 0\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"type\": \"category\",\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"boundaryGap\": false,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u535a\\u58eb\",\n",
       "                \"\\u7855\\u58eb\",\n",
       "                \"\\u672c\\u79d1\",\n",
       "                \"\\u4e0d\\u9650\",\n",
       "                \"\\u5927\\u4e13\",\n",
       "                \"\\u9ad8\\u4e2d\",\n",
       "                \"\\u4e2d\\u4e13\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"type\": \"value\",\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"axisTick\": {\n",
       "                \"show\": true,\n",
       "                \"alignWithLabel\": false,\n",
       "                \"inside\": false\n",
       "            },\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": true,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5b66\\u5386\\u5e73\\u5747\\u85aa\\u8d44\\uff08\\u5343/\\u6708\\uff09\",\n",
       "            \"left\": \"center\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 20\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_073f4050a55b45a99a61375ec90bd83a.setOption(option_073f4050a55b45a99a61375ec90bd83a);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58debe6d0>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "salary_average = data.groupby('学历')['平均工资'].mean().to_frame('平均工资').reset_index()\n",
    "salary_average['平均工资']=salary_average['平均工资'].round(decimals=1)\n",
    "salary_average  = salary_average.sort_values('平均工资',ascending=False)[:10]\n",
    "\n",
    "x_data = salary_average['学历'].values.tolist()\n",
    "y_data = salary_average['平均工资'].values.tolist()\n",
    "c=(\n",
    "    Line()\n",
    "    .add_xaxis(xaxis_data=x_data)\n",
    "    .add_yaxis(\n",
    "        series_name=\"\",\n",
    "        y_axis=y_data,\n",
    "        symbol=\"emptyCircle\",\n",
    "        is_symbol_show=True,\n",
    "        label_opts=opts.LabelOpts(is_show=False),\n",
    "        areastyle_opts=opts.AreaStyleOpts(opacity=1, color=\"#f1939c\"),\n",
    "    )\n",
    "    .set_global_opts(\n",
    "        tooltip_opts=opts.TooltipOpts(is_show=True),\n",
    "        yaxis_opts=opts.AxisOpts(\n",
    "            type_=\"value\",\n",
    "            axistick_opts=opts.AxisTickOpts(is_show=True),\n",
    "            splitline_opts=opts.SplitLineOpts(is_show=True),\n",
    "        ),\n",
    "        title_opts=opts.TitleOpts(title=\"学历平均薪资（千/月）\",\n",
    "                                                  pos_left=\"center\",\n",
    "                                                  title_textstyle_opts=opts.TextStyleOpts(font_size=20)),\n",
    "        xaxis_opts=opts.AxisOpts(type_=\"category\", boundary_gap=False)\n",
    "))\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "\n",
    "* 1、从面积图可以看出，学历和岗位薪资基本成正比，学历越高，岗位平均薪资就越高。\n",
    "* 2、本科学历数据分析岗位的平均薪资可以达到14.1k/月，而最低中专学历的平均薪资在7.7k/月。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 学历平均工资的另一种图表展示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"f63406df96b24bad91b02e4eb1c53ffb\" style=\"width:700px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_f63406df96b24bad91b02e4eb1c53ffb = echarts.init(\n",
       "                    document.getElementById('f63406df96b24bad91b02e4eb1c53ffb'), 'white', {renderer: 'canvas'});\n",
       "                var option_f63406df96b24bad91b02e4eb1c53ffb = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#f1939c\",\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"data\": [\n",
       "                30.0,\n",
       "                21.4,\n",
       "                14.1,\n",
       "                10.8,\n",
       "                9.6,\n",
       "                8.6,\n",
       "                7.7\n",
       "            ],\n",
       "            \"barCategoryGap\": \"50%\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"barBorderRadius\": [\n",
       "                        30,\n",
       "                        30,\n",
       "                        30,\n",
       "                        30\n",
       "                    ]\n",
       "                }\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u535a\\u58eb\",\n",
       "                \"\\u7855\\u58eb\",\n",
       "                \"\\u672c\\u79d1\",\n",
       "                \"\\u4e0d\\u9650\",\n",
       "                \"\\u5927\\u4e13\",\n",
       "                \"\\u9ad8\\u4e2d\",\n",
       "                \"\\u4e2d\\u4e13\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5b66\\u5386\\u5e73\\u5747\\u85aa\\u8d44\\uff08\\u5343/\\u6708\\uff09\",\n",
       "            \"left\": \"center\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 20\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_f63406df96b24bad91b02e4eb1c53ffb.setOption(option_f63406df96b24bad91b02e4eb1c53ffb);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58e5d7dc0>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "color_js1 = \"\"\"new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n",
    "                            offset: 0,\n",
    "                            color: '#ede3e7'\n",
    "                        }, {\n",
    "                            offset: 1,\n",
    "                            color: '#e6d2d5'\n",
    "                        }], false)\"\"\"\n",
    "\n",
    "salary_average = data.groupby('学历')['平均工资'].mean().to_frame('平均工资').reset_index()\n",
    "salary_average['平均工资']=salary_average['平均工资'].round(decimals=1)\n",
    "salary_average  = salary_average.sort_values('平均工资',ascending=False)[:10]\n",
    "\n",
    "x_data = salary_average['学历'].values.tolist()\n",
    "y_data = salary_average['平均工资'].values.tolist()\n",
    "\n",
    "b2 = (\n",
    "        Bar(\n",
    "            init_opts=opts.InitOpts(\n",
    "#                 theme=ThemeType.DARK,\n",
    "#                 bg_color=JsCode(color_js1),\n",
    "                width='700px',\n",
    "                height='500px'))\n",
    "        .add_xaxis(x_data)\n",
    "        .add_yaxis('',\n",
    "                   y_data ,\n",
    "                   category_gap=\"50%\",\n",
    "                   color='#f1939c'\n",
    "                  )\n",
    "            .set_series_opts(\n",
    "          itemstyle_opts={\n",
    "                \"normal\": {\n",
    "                    \"barBorderRadius\": [30, 30, 30, 30],\n",
    "#                     \"shadowColor\":Spectral3,\n",
    "                }\n",
    "            },)\n",
    "        .set_global_opts(title_opts=opts.TitleOpts(title=\"学历平均薪资（千/月）\",\n",
    "                                                  pos_left=\"center\",\n",
    "                                                  title_textstyle_opts=opts.TextStyleOpts(font_size=20)),\n",
    "\n",
    "                        ))\n",
    "    \n",
    "b2.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 所属行业的平均薪资前10类"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"19852b51-8a70-4c95-8d35-357a1b86fe5c\" data-root-id=\"1204\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"8bac9b7b-c8b7-4fa9-b6d9-d61c9d714ea5\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1215\"}],\"center\":[{\"id\":\"1218\"},{\"id\":\"1221\"}],\"left\":[{\"id\":\"1219\"}],\"plot_height\":350,\"plot_width\":750,\"renderers\":[{\"id\":\"1228\"},{\"id\":\"1233\"}],\"title\":{\"id\":\"1205\"},\"toolbar\":{\"id\":\"1223\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1207\"},\"x_scale\":{\"id\":\"1211\"},\"y_range\":{\"id\":\"1209\"},\"y_scale\":{\"id\":\"1213\"}},\"id\":\"1204\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1259\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#9ecae1\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#3182bd\"},\"line_width\":{\"value\":5},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1232\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1257\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":[18.6,15.7,15.3,14.9,14.7,14.3,14.2,13.8,13.6,13.5],\"y\":[\"\\u94f6\\u884c\",\"\\u5b66\\u672f\",\"\\u5236\\u836f\",\"\\u91d1\\u878d\",\"\\u822a\\u5929\",\"\\u8ba1\\u7b97\\u673a\\u8f6f\\u4ef6\",\"\\u7f51\\u7edc\\u6e38\\u620f\",\"\\u7535\\u5b50\\u6280\\u672f\",\"\\u901a\\u4fe1\",\"\\u91c7\\u6398\\u4e1a\"]},\"selected\":{\"id\":\"1259\"},\"selection_policy\":{\"id\":\"1258\"}},\"id\":\"1230\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1211\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1222\"}]},\"id\":\"1223\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"1230\"},\"glyph\":{\"id\":\"1231\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1232\"},\"selection_glyph\":null,\"view\":{\"id\":\"1234\"}},\"id\":\"1233\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":{\"value\":\"#3182bd\"},\"line_width\":{\"value\":3},\"x0\":{\"value\":0},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1226\",\"type\":\"Segment\"},{\"attributes\":{\"source\":{\"id\":\"1230\"}},\"id\":\"1234\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1254\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#9ecae1\"},\"line_color\":{\"value\":\"#3182bd\"},\"line_width\":{\"value\":5},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1231\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1216\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"1225\"}},\"id\":\"1229\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1256\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1258\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1213\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#3182bd\"},\"line_width\":{\"value\":3},\"x0\":{\"value\":0},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1227\",\"type\":\"Segment\"},{\"attributes\":{\"end\":22},\"id\":\"1207\",\"type\":\"Range1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1225\"},\"glyph\":{\"id\":\"1226\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1227\"},\"selection_glyph\":null,\"view\":{\"id\":\"1229\"}},\"id\":\"1228\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@x\"},\"id\":\"1222\",\"type\":\"HoverTool\"},{\"attributes\":{\"factors\":[\"\\u94f6\\u884c\",\"\\u5b66\\u672f\",\"\\u5236\\u836f\",\"\\u91d1\\u878d\",\"\\u822a\\u5929\",\"\\u8ba1\\u7b97\\u673a\\u8f6f\\u4ef6\",\"\\u7f51\\u7edc\\u6e38\\u620f\",\"\\u7535\\u5b50\\u6280\\u672f\",\"\\u901a\\u4fe1\",\"\\u91c7\\u6398\\u4e1a\"]},\"id\":\"1209\",\"type\":\"FactorRange\"},{\"attributes\":{\"data\":{\"x1\":[18.6,15.7,15.3,14.9,14.7,14.3,14.2,13.8,13.6,13.5],\"y0\":[\"\\u94f6\\u884c\",\"\\u5b66\\u672f\",\"\\u5236\\u836f\",\"\\u91d1\\u878d\",\"\\u822a\\u5929\",\"\\u8ba1\\u7b97\\u673a\\u8f6f\\u4ef6\",\"\\u7f51\\u7edc\\u6e38\\u620f\",\"\\u7535\\u5b50\\u6280\\u672f\",\"\\u901a\\u4fe1\",\"\\u91c7\\u6398\\u4e1a\"],\"y1\":[\"\\u94f6\\u884c\",\"\\u5b66\\u672f\",\"\\u5236\\u836f\",\"\\u91d1\\u878d\",\"\\u822a\\u5929\",\"\\u8ba1\\u7b97\\u673a\\u8f6f\\u4ef6\",\"\\u7f51\\u7edc\\u6e38\\u620f\",\"\\u7535\\u5b50\\u6280\\u672f\",\"\\u901a\\u4fe1\",\"\\u91c7\\u6398\\u4e1a\"]},\"selected\":{\"id\":\"1257\"},\"selection_policy\":{\"id\":\"1256\"}},\"id\":\"1225\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1252\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1252\"},\"ticker\":{\"id\":\"1220\"}},\"id\":\"1219\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1215\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"1218\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"1254\"},\"ticker\":{\"id\":\"1216\"}},\"id\":\"1215\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1220\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1219\"},\"dimension\":1,\"grid_line_color\":null,\"ticker\":null},\"id\":\"1221\",\"type\":\"Grid\"},{\"attributes\":{\"text\":\"\\u6240\\u5c5e\\u884c\\u4e1a\\u5e73\\u5747\\u85aa\\u8d44(\\u5343/\\u6708)\"},\"id\":\"1205\",\"type\":\"Title\"}],\"root_ids\":[\"1204\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"8bac9b7b-c8b7-4fa9-b6d9-d61c9d714ea5\",\"root_ids\":[\"1204\"],\"roots\":{\"1204\":\"19852b51-8a70-4c95-8d35-357a1b86fe5c\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1204"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "salary_average = data.groupby('所属行业')['平均工资'].mean().to_frame('平均工资').reset_index()\n",
    "salary_average['平均工资']=salary_average['平均工资'].round(decimals=1)\n",
    "salary_average  = salary_average.sort_values('平均工资',ascending=False)[:10]\n",
    "\n",
    "factors = salary_average['所属行业'].values.tolist()\n",
    "x = salary_average['平均工资'].values.tolist()\n",
    "\n",
    "fig = figure(\n",
    "    title=\"所属行业平均薪资(千/月)\",\n",
    "    toolbar_location=None,\n",
    "    tools=\"hover\",\n",
    "    tooltips = \"@x\",\n",
    "    y_range=factors,\n",
    "    x_range=[0,22],\n",
    "    plot_width=750,\n",
    "    plot_height=350)\n",
    "\n",
    "fig.segment(0, factors, x, factors, line_width=3, line_color=\"#3182bd\")\n",
    "fig.circle(x, factors, size=20, fill_color=\"#9ecae1\", line_color=\"#3182bd\", line_width=5)\n",
    "fig.xgrid.grid_line_color = None\n",
    "fig.ygrid.grid_line_color = None\n",
    "show(fig)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "* 1、在众多行业中，银行业的数据分析岗位薪资最高，达到18.6K/月，有条件有兴趣可以考虑往银行领域发展。\n",
    "* 2、在排行榜中，航天、金融、计算机、电子等行业上榜，比较符合大众认知，而图表显示学术、制药领域的平均工资高于这些传统的大众行业，具有很高的发展前途。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 行业平均薪资的柱状图显示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"e3fdbd5490914bd69163a67f4282a966\" style=\"width:700px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_e3fdbd5490914bd69163a67f4282a966 = echarts.init(\n",
       "                    document.getElementById('e3fdbd5490914bd69163a67f4282a966'), 'white', {renderer: 'canvas'});\n",
       "                var option_e3fdbd5490914bd69163a67f4282a966 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#f0945d\",\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"data\": [\n",
       "                18.6,\n",
       "                15.7,\n",
       "                15.3,\n",
       "                14.9,\n",
       "                14.7,\n",
       "                14.3,\n",
       "                14.2,\n",
       "                13.8,\n",
       "                13.6,\n",
       "                13.5\n",
       "            ],\n",
       "            \"barCategoryGap\": \"50%\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"barBorderRadius\": [\n",
       "                        30,\n",
       "                        30,\n",
       "                        30,\n",
       "                        30\n",
       "                    ]\n",
       "                }\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u94f6\\u884c\",\n",
       "                \"\\u5b66\\u672f\",\n",
       "                \"\\u5236\\u836f\",\n",
       "                \"\\u91d1\\u878d\",\n",
       "                \"\\u822a\\u5929\",\n",
       "                \"\\u8ba1\\u7b97\\u673a\\u8f6f\\u4ef6\",\n",
       "                \"\\u7f51\\u7edc\\u6e38\\u620f\",\n",
       "                \"\\u7535\\u5b50\\u6280\\u672f\",\n",
       "                \"\\u901a\\u4fe1\",\n",
       "                \"\\u91c7\\u6398\\u4e1a\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u6240\\u5c5e\\u884c\\u4e1a\\u5e73\\u5747\\u85aa\\u8d44(\\u5343/\\u6708)\",\n",
       "            \"left\": \"center\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 20\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_e3fdbd5490914bd69163a67f4282a966.setOption(option_e3fdbd5490914bd69163a67f4282a966);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58e5e6160>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "color_js1 = \"\"\"new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n",
    "                            offset: 0,\n",
    "                            color: '#ede3e7'\n",
    "                        }, {\n",
    "                            offset: 1,\n",
    "                            color: '#e6d2d5'\n",
    "                        }], false)\"\"\"\n",
    "\n",
    "salary_average = data.groupby('所属行业')['平均工资'].mean().to_frame('平均工资').reset_index()\n",
    "salary_average['平均工资']=salary_average['平均工资'].round(decimals=1)\n",
    "salary_average  = salary_average.sort_values('平均工资',ascending=False)[:10]\n",
    "\n",
    "x_data = salary_average['所属行业'].values.tolist()\n",
    "y_data = salary_average['平均工资'].values.tolist()\n",
    "\n",
    "b2 = (\n",
    "        Bar(\n",
    "            init_opts=opts.InitOpts(\n",
    "#                 theme=ThemeType.DARK,\n",
    "#                 bg_color=JsCode(color_js1),\n",
    "                width='700px',\n",
    "                height='500px'))\n",
    "        .add_xaxis(x_data)\n",
    "        .add_yaxis('',\n",
    "                   y_data ,\n",
    "                   category_gap=\"50%\",\n",
    "                   color='#f0945d'\n",
    "                  )\n",
    "            .set_series_opts(\n",
    "          itemstyle_opts={\n",
    "                \"normal\": {\n",
    "                    \"barBorderRadius\": [30, 30, 30, 30],\n",
    "#                     \"shadowColor\":Spectral3,\n",
    "                }\n",
    "            },)\n",
    "        .set_global_opts(\n",
    "            title_opts=opts.TitleOpts(title=\"所属行业平均薪资(千/月)\",pos_left=\"center\",title_textstyle_opts=opts.TextStyleOpts(font_size=20),\n",
    "                        )))\n",
    "    \n",
    "b2.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 所属行业词云图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'echarts-wordcloud':'https://assets.pyecharts.org/assets/echarts-wordcloud.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"e1efd2d18ed141998e8a0a02280f3044\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'echarts-wordcloud'], function(echarts) {\n",
       "                var chart_e1efd2d18ed141998e8a0a02280f3044 = echarts.init(\n",
       "                    document.getElementById('e1efd2d18ed141998e8a0a02280f3044'), 'white', {renderer: 'canvas'});\n",
       "                var option_e1efd2d18ed141998e8a0a02280f3044 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"wordCloud\",\n",
       "            \"name\": \"\\u884c\\u4e1a\",\n",
       "            \"shape\": \"circle\",\n",
       "            \"rotationRange\": [\n",
       "                -90,\n",
       "                90\n",
       "            ],\n",
       "            \"rotationStep\": 45,\n",
       "            \"girdSize\": 20,\n",
       "            \"sizeRange\": [\n",
       "                6,\n",
       "                66\n",
       "            ],\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u4e92\\u8054\\u7f51\",\n",
       "                    \"value\": 1511,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(127,32,121)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8ba1\\u7b97\\u673a\\u8f6f\\u4ef6\",\n",
       "                    \"value\": 1368,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(98,133,18)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5efa\\u7b51\",\n",
       "                    \"value\": 1046,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(104,154,1)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e13\\u4e1a\\u670d\\u52a1(\\u54a8\\u8be2\\u3001\\u4eba\\u529b\\u8d44\\u6e90\\u3001\\u8d22\\u4f1a)\",\n",
       "                    \"value\": 702,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(79,10,3)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4ea4\\u901a\",\n",
       "                    \"value\": 605,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(74,156,118)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4fdd\\u9669\",\n",
       "                    \"value\": 472,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(118,64,90)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u673a\\u68b0\",\n",
       "                    \"value\": 439,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(75,70,19)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b66\\u672f\",\n",
       "                    \"value\": 388,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(109,78,77)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u623f\\u5730\\u4ea7\",\n",
       "                    \"value\": 351,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(94,114,112)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u901a\\u4fe1\",\n",
       "                    \"value\": 346,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(17,107,125)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5feb\\u901f\\u6d88\\u8d39\\u54c1\",\n",
       "                    \"value\": 328,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(126,80,137)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8ba1\\u7b97\\u673a\\u670d\\u52a1\",\n",
       "                    \"value\": 327,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(88,111,62)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u591a\\u5143\\u5316\\u4e1a\\u52a1\\u96c6\\u56e2\\u516c\\u53f8\",\n",
       "                    \"value\": 293,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(18,60,94)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u77f3\\u6cb9\",\n",
       "                    \"value\": 262,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(62,140,107)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5236\\u836f\",\n",
       "                    \"value\": 250,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(83,141,109)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f71\\u89c6\",\n",
       "                    \"value\": 247,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(151,151,105)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c7d\\u8f66\",\n",
       "                    \"value\": 227,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(16,5,90)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5bb6\\u5c45\",\n",
       "                    \"value\": 219,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(29,151,112)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8d38\\u6613\",\n",
       "                    \"value\": 218,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(120,44,39)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65b0\\u80fd\\u6e90\",\n",
       "                    \"value\": 206,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(10,4,123)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7535\\u6c14\",\n",
       "                    \"value\": 203,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(98,63,31)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u670d\\u88c5\",\n",
       "                    \"value\": 190,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(152,97,147)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91d1\\u878d\",\n",
       "                    \"value\": 189,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(59,71,85)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6279\\u53d1\",\n",
       "                    \"value\": 158,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(27,55,62)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u79df\\u8d41\\u670d\\u52a1\",\n",
       "                    \"value\": 149,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(156,100,24)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u94f6\\u884c\",\n",
       "                    \"value\": 139,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(10,106,30)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7535\\u5b50\\u6280\\u672f\",\n",
       "                    \"value\": 111,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(150,38,159)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u7597\\u8bbe\\u5907\",\n",
       "                    \"value\": 98,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(11,34,32)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u539f\\u6750\\u6599\\u548c\\u52a0\\u5de5\",\n",
       "                    \"value\": 89,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(109,107,146)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u73af\\u4fdd\",\n",
       "                    \"value\": 86,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(78,136,54)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6559\\u80b2\",\n",
       "                    \"value\": 83,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(4,95,41)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u519c\",\n",
       "                    \"value\": 72,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(103,124,148)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cd5\\u5f8b\",\n",
       "                    \"value\": 71,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(7,13,141)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u544a\",\n",
       "                    \"value\": 70,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(79,151,9)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7269\\u4e1a\\u7ba1\\u7406\",\n",
       "                    \"value\": 60,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(11,97,67)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5370\\u5237\",\n",
       "                    \"value\": 60,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(82,15,77)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u68c0\\u6d4b\\u8ba4\\u8bc1\",\n",
       "                    \"value\": 53,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(7,156,159)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u653f\\u5e9c\",\n",
       "                    \"value\": 52,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(124,15,139)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6587\\u5b57\\u5a92\\u4f53\",\n",
       "                    \"value\": 51,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(147,152,114)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4eea\\u5668\\u4eea\\u8868\",\n",
       "                    \"value\": 47,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(101,129,58)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9152\\u5e97\",\n",
       "                    \"value\": 44,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(3,147,160)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5962\\u4f88\\u54c1\",\n",
       "                    \"value\": 38,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(19,1,3)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4f1a\\u8ba1\",\n",
       "                    \"value\": 34,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(14,155,121)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u822a\\u5929\",\n",
       "                    \"value\": 32,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(7,52,33)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u751f\\u6d3b\\u670d\\u52a1\",\n",
       "                    \"value\": 28,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(97,121,54)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9910\\u996e\\u4e1a\",\n",
       "                    \"value\": 28,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(150,149,61)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u7597\",\n",
       "                    \"value\": 27,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(76,88,45)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8ba1\\u7b97\\u673a\\u786c\\u4ef6\",\n",
       "                    \"value\": 26,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(41,66,64)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7f51\\u7edc\\u6e38\\u620f\",\n",
       "                    \"value\": 21,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(106,47,39)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7f8e\\u5bb9\",\n",
       "                    \"value\": 21,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(85,16,12)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5a31\\u4e50\",\n",
       "                    \"value\": 19,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(126,26,146)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u516c\\u5173\",\n",
       "                    \"value\": 18,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(123,126,128)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u529e\\u516c\\u7528\\u54c1\\u53ca\\u8bbe\\u5907\",\n",
       "                    \"value\": 15,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(153,38,149)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u4ecb\\u670d\\u52a1\",\n",
       "                    \"value\": 14,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(16,83,65)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u975e\\u8425\\u5229\\u7ec4\\u7ec7\",\n",
       "                    \"value\": 12,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(149,46,144)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5916\\u5305\\u670d\\u52a1\",\n",
       "                    \"value\": 8,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(4,148,137)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91c7\\u6398\\u4e1a\",\n",
       "                    \"value\": 5,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(90,119,114)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4fe1\\u6258\",\n",
       "                    \"value\": 3,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(58,9,32)\"\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            ],\n",
       "            \"drawOutOfBound\": false,\n",
       "            \"textStyle\": {\n",
       "                \"emphasis\": {}\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [],\n",
       "            \"selected\": {},\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u6240\\u5c5e\\u884c\\u4e1a\\u8bcd\\u4e91\\u56fe\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 23\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_e1efd2d18ed141998e8a0a02280f3044.setOption(option_e1efd2d18ed141998e8a0a02280f3044);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58de137c0>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hangye=list(data['所属行业'].unique())\n",
    "hangye_count=list(data['所属行业'].value_counts())\n",
    "zong=[list(z) for z in zip(hangye,hangye_count)]\n",
    "c=(\n",
    "    WordCloud()\n",
    "    .add(series_name=\"行业\", data_pair=zong, word_size_range=[6, 66])\n",
    "    .set_global_opts(\n",
    "        title_opts=opts.TitleOpts(\n",
    "            title=\"所属行业词云图\", title_textstyle_opts=opts.TextStyleOpts(font_size=23)\n",
    "        ),\n",
    "        tooltip_opts=opts.TooltipOpts(is_show=True),\n",
    "    )\n",
    "#     .render(\"basic_wordcloud.html\")\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "* 1、从词云图中可以看到行业关键词中，互联网、计算机软件词频最高，与岗位关联度最强。\n",
    "* 2、建筑、交通、学术、保险的词频也较高，有一定的发展潜力。\n",
    "* 3、词频基本涵盖了各大领域，说明数据分析岗位的应用前景十分广阔。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 公司规模"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['500-1000人',\n",
       " '150-500人',\n",
       " '50-150人',\n",
       " '1000-5000人',\n",
       " '5000-10000人',\n",
       " '10000人以上',\n",
       " '少于50人',\n",
       " '无']"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "guimo=list(data['公司规模'].unique())\n",
    "guimo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "排序结果 ['少于50人', '50-150人', '150-500人', '500-1000人', '1000-5000人', '5000-10000人', '10000人以上']\n"
     ]
    }
   ],
   "source": [
    "# 自定义排序函数\n",
    "def custom_sort(guimo):\n",
    "    sort_rule = [('少于50人',0), ('50-150人',1), ('150-500人',2), ('500-1000人',3), ('1000-5000人',4),('5000-10000人',5),('10000人以上',6)]\n",
    "    sort_ls = []\n",
    "    for i in guimo:\n",
    "        for rule in sort_rule:\n",
    "            if rule[0] in i:\n",
    "                sort_ls.append((rule[1], i))\n",
    "                break\n",
    "    sort_ls.sort()\n",
    "    return [i[1] for i in sort_ls]\n",
    "# 打印排序结果\n",
    "print('排序结果', custom_sort(guimo))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.23607817483032137,\n",
       " 0.23329789843813886,\n",
       " 0.139504456619511,\n",
       " 0.1287922152261019,\n",
       " 0.12143266007032463,\n",
       " 0.060184806607245074,\n",
       " 0.05086270340992722,\n",
       " 0.02984708479842996]"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "guimo=custom_sort(guimo)\n",
    "guimo_count=list(data['公司规模'].value_counts())\n",
    "shu=[i/12229 for i in guimo_count]\n",
    "shu"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.24, 0.23, 0.14, 0.13, 0.12, 0.06, 0.05, 0.03])"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mid_np = np.array(shu)\n",
    "mid_np_2f = np.round(mid_np,2)\n",
    "mid_np_2f"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyecharts.globals import SymbolType"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"1e04f5c883e94d1aa27a3bb7fbe8d44d\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_1e04f5c883e94d1aa27a3bb7fbe8d44d = echarts.init(\n",
       "                    document.getElementById('1e04f5c883e94d1aa27a3bb7fbe8d44d'), 'white', {renderer: 'canvas'});\n",
       "                var option_1e04f5c883e94d1aa27a3bb7fbe8d44d = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"effectScatter\",\n",
       "            \"showEffectOn\": \"render\",\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            },\n",
       "            \"symbol\": \"arrow\",\n",
       "            \"symbolSize\": 10,\n",
       "            \"data\": [\n",
       "                [\n",
       "                    \"\\u5c11\\u4e8e50\\u4eba\",\n",
       "                    2887\n",
       "                ],\n",
       "                [\n",
       "                    \"50-150\\u4eba\",\n",
       "                    2853\n",
       "                ],\n",
       "                [\n",
       "                    \"150-500\\u4eba\",\n",
       "                    1706\n",
       "                ],\n",
       "                [\n",
       "                    \"500-1000\\u4eba\",\n",
       "                    1575\n",
       "                ],\n",
       "                [\n",
       "                    \"1000-5000\\u4eba\",\n",
       "                    1485\n",
       "                ],\n",
       "                [\n",
       "                    \"5000-10000\\u4eba\",\n",
       "                    736\n",
       "                ],\n",
       "                [\n",
       "                    \"10000\\u4eba\\u4ee5\\u4e0a\",\n",
       "                    622\n",
       "                ]\n",
       "            ],\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"\\u5c11\\u4e8e50\\u4eba\",\n",
       "                \"50-150\\u4eba\",\n",
       "                \"150-500\\u4eba\",\n",
       "                \"500-1000\\u4eba\",\n",
       "                \"1000-5000\\u4eba\",\n",
       "                \"5000-10000\\u4eba\",\n",
       "                \"10000\\u4eba\\u4ee5\\u4e0a\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u516c\\u53f8\\u89c4\\u6a21\\u7684\\u6570\\u91cf\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_1e04f5c883e94d1aa27a3bb7fbe8d44d.setOption(option_1e04f5c883e94d1aa27a3bb7fbe8d44d);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58deeea00>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c = (\n",
    "    EffectScatter()\n",
    "    .add_xaxis(guimo)\n",
    "    .add_yaxis(\"\", guimo_count, symbol=SymbolType.ARROW)\n",
    "    .set_global_opts(title_opts=opts.TitleOpts(title=\"公司规模的数量\"))\n",
    "#     .render(\"effectscatter_symbol.html\")\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"10175e70f57144fc8f675fb785b475aa\" style=\"width:800px; height:600px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_10175e70f57144fc8f675fb785b475aa = echarts.init(\n",
       "                    document.getElementById('10175e70f57144fc8f675fb785b475aa'), 'white', {renderer: 'canvas'});\n",
       "                var option_10175e70f57144fc8f675fb785b475aa = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"funnel\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u5c11\\u4e8e50\\u4eba\",\n",
       "                    \"value\": 24\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"50-150\\u4eba\",\n",
       "                    \"value\": 23\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"150-500\\u4eba\",\n",
       "                    \"value\": 14\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"500-1000\\u4eba\",\n",
       "                    \"value\": 13\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"1000-5000\\u4eba\",\n",
       "                    \"value\": 12\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"5000-10000\\u4eba\",\n",
       "                    \"value\": 6\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"10000\\u4eba\\u4ee5\\u4e0a\",\n",
       "                    \"value\": 5\n",
       "                }\n",
       "            ],\n",
       "            \"sort\": \"descending\",\n",
       "            \"gap\": 2,\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"inside\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"tooltip\": {\n",
       "                \"show\": true,\n",
       "                \"trigger\": \"item\",\n",
       "                \"triggerOn\": \"mousemove|click\",\n",
       "                \"axisPointer\": {\n",
       "                    \"type\": \"line\"\n",
       "                },\n",
       "                \"formatter\": \"<br/>{b} : {c}%\",\n",
       "                \"textStyle\": {\n",
       "                    \"fontSize\": 14\n",
       "                },\n",
       "                \"borderWidth\": 0\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"borderColor\": \"#fff\",\n",
       "                \"borderWidth\": 1\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"50-150\\u4eba\",\n",
       "                \"10000\\u4eba\\u4ee5\\u4e0a\",\n",
       "                \"1000-5000\\u4eba\",\n",
       "                \"150-500\\u4eba\",\n",
       "                \"5000-10000\\u4eba\",\n",
       "                \"500-1000\\u4eba\",\n",
       "                \"\\u5c11\\u4e8e50\\u4eba\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u5c11\\u4e8e50\\u4eba\": true,\n",
       "                \"50-150\\u4eba\": true,\n",
       "                \"150-500\\u4eba\": true,\n",
       "                \"500-1000\\u4eba\": true,\n",
       "                \"1000-5000\\u4eba\": true,\n",
       "                \"5000-10000\\u4eba\": true,\n",
       "                \"10000\\u4eba\\u4ee5\\u4e0a\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u516c\\u53f8\\u89c4\\u6a21\\u5360\\u6bd4\",\n",
       "            \"bottom\": 20,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_10175e70f57144fc8f675fb785b475aa.setOption(option_10175e70f57144fc8f675fb785b475aa);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58deee100>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_data=[24,23,14,13,12,6,5,3]\n",
    "\n",
    "guimo_data = [[guimo[i], y_data[i]] for i in range(len(guimo))]\n",
    "\n",
    "c=(\n",
    "    Funnel(init_opts=opts.InitOpts(width=\"800px\", height=\"600px\"))\n",
    "    .add(\n",
    "        series_name=\"\",\n",
    "        data_pair=guimo_data,\n",
    "        gap=2,\n",
    "        tooltip_opts=opts.TooltipOpts(trigger=\"item\", formatter=\"<br/>{b} : {c}%\"),\n",
    "        label_opts=opts.LabelOpts(is_show=True, position=\"inside\"),\n",
    "        itemstyle_opts=opts.ItemStyleOpts(border_color=\"#fff\", border_width=1),\n",
    "    )\n",
    "    .set_global_opts(title_opts=opts.TitleOpts(title=\"公司规模占比\",pos_bottom= 20,),)\n",
    "#     .render(\"funnel_chart.html\")\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"8e158e75a9bc4a4c987d09b2e9777d6b\" style=\"width:700px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_8e158e75a9bc4a4c987d09b2e9777d6b = echarts.init(\n",
       "                    document.getElementById('8e158e75a9bc4a4c987d09b2e9777d6b'), 'white', {renderer: 'canvas'});\n",
       "                var option_8e158e75a9bc4a4c987d09b2e9777d6b = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#f0945d\",\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"bar\",\n",
       "            \"data\": [\n",
       "                14.1,\n",
       "                13.9,\n",
       "                13.6,\n",
       "                13.3,\n",
       "                12.8,\n",
       "                12.6,\n",
       "                11.6,\n",
       "                10.9\n",
       "            ],\n",
       "            \"barCategoryGap\": \"50%\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"itemStyle\": {\n",
       "                \"normal\": {\n",
       "                    \"barBorderRadius\": [\n",
       "                        30,\n",
       "                        30,\n",
       "                        30,\n",
       "                        30\n",
       "                    ]\n",
       "                }\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"xAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            },\n",
       "            \"data\": [\n",
       "                \"10000\\u4eba\\u4ee5\\u4e0a\",\n",
       "                \"5000-10000\\u4eba\",\n",
       "                \"\\u65e0\",\n",
       "                \"1000-5000\\u4eba\",\n",
       "                \"500-1000\\u4eba\",\n",
       "                \"150-500\\u4eba\",\n",
       "                \"50-150\\u4eba\",\n",
       "                \"\\u5c11\\u4e8e50\\u4eba\"\n",
       "            ]\n",
       "        }\n",
       "    ],\n",
       "    \"yAxis\": [\n",
       "        {\n",
       "            \"show\": true,\n",
       "            \"scale\": false,\n",
       "            \"nameLocation\": \"end\",\n",
       "            \"nameGap\": 15,\n",
       "            \"gridIndex\": 0,\n",
       "            \"inverse\": false,\n",
       "            \"offset\": 0,\n",
       "            \"splitNumber\": 5,\n",
       "            \"minInterval\": 0,\n",
       "            \"splitLine\": {\n",
       "                \"show\": false,\n",
       "                \"lineStyle\": {\n",
       "                    \"show\": true,\n",
       "                    \"width\": 1,\n",
       "                    \"opacity\": 1,\n",
       "                    \"curveness\": 0,\n",
       "                    \"type\": \"solid\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u516c\\u53f8\\u89c4\\u6a21\\u5e73\\u5747\\u85aa\\u8d44(\\u5343/\\u6708)\",\n",
       "            \"left\": \"center\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"textStyle\": {\n",
       "                \"fontSize\": 20\n",
       "            }\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_8e158e75a9bc4a4c987d09b2e9777d6b.setOption(option_8e158e75a9bc4a4c987d09b2e9777d6b);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1f58e5deeb0>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "color_js1 = \"\"\"new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n",
    "                            offset: 0,\n",
    "                            color: '#ede3e7'\n",
    "                        }, {\n",
    "                            offset: 1,\n",
    "                            color: '#e6d2d5'\n",
    "                        }], false)\"\"\"\n",
    "\n",
    "salary_average = data.groupby('公司规模')['平均工资'].mean().to_frame('平均工资').reset_index()\n",
    "salary_average['平均工资']=salary_average['平均工资'].round(decimals=1)\n",
    "salary_average  = salary_average.sort_values('平均工资',ascending=False)[:10]\n",
    "\n",
    "x_data = salary_average['公司规模'].values.tolist()\n",
    "y_data = salary_average['平均工资'].values.tolist()\n",
    "\n",
    "b2 = (\n",
    "        Bar(\n",
    "            init_opts=opts.InitOpts(\n",
    "#                 theme=ThemeType.DARK,\n",
    "#                 bg_color=JsCode(color_js1),\n",
    "                width='700px',\n",
    "                height='500px'))\n",
    "        .add_xaxis(x_data)\n",
    "        .add_yaxis('',\n",
    "                   y_data ,\n",
    "                   category_gap=\"50%\",\n",
    "                   color='#f0945d'\n",
    "                  )\n",
    "            .set_series_opts(\n",
    "          itemstyle_opts={\n",
    "                \"normal\": {\n",
    "                    \"barBorderRadius\": [30, 30, 30, 30],\n",
    "#                     \"shadowColor\":Spectral3,\n",
    "                }\n",
    "            },)\n",
    "        .set_global_opts(\n",
    "            title_opts=opts.TitleOpts(title=\"公司规模平均薪资(千/月)\",pos_left=\"center\",title_textstyle_opts=opts.TextStyleOpts(font_size=20),\n",
    "                        )))\n",
    "    \n",
    "b2.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 结果分析\n",
    "* 1、从公司规模数量来看，岗位需求公司最多的是小于50人的公司和50-100的公司，占比也是最高的，分别占比24%和23%。\n",
    "* 2、公司规模与岗位需求基本成反比，公司规模小的公司岗位需求较多。\n",
    "* 3、从公司规模的平均薪资来看，公司规模越大的公司平均薪资也越高，不过薪资差距不是很大，基本能达到10K以上。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 总结"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 1、数据分析岗位需求南方多于北方，中部地区也有一定的发展潜力，岗位需求最高的5个城市分别是北上广深+杭州。\n",
    "- 2、5大需求城市数据分析岗位的平均工资普遍在10k以上，需求最大且平均最低工资最高的城市是广州，同时杭州发展潜力巨大。\n",
    "- 3、北京数据分析岗位是5大需求城市工资上限最高。\n",
    "- 4、数据分析岗位民营公司占比最多，上市公司及国企次之，非欧美的外资公司岗位需求比欧美类型外资公司的需求要高。\n",
    "- 5、数据分析岗位学历要求普遍为本科和硕士，大专以下学历想要进入公司从事数据分析岗位难度较大。\n",
    "- 6、学历和岗位薪资基本成正比，学历越高，岗位平均薪资就越高。本科学历平均薪资可以达到14.1k/月。\n",
    "- 7、岗位关键词基本涵盖了各大领域，其中互联网、计算机软件词频最高，与岗位关联度最强。建筑、交通、学术、保险的词频也较高，有一定的发展潜力。\n",
    "- 8、公司规模与岗位需求基本成反比，比较多公司规模小的公司对数据分析岗位需求多。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "211.016px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
